{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Atmospheric Corrections using 6S"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div class=\"bk-root\">\n",
       "        <a href=\"https://bokeh.pydata.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
       "        <span id=\"1001\">Loading BokehJS ...</span>\n",
       "    </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "(function(root) {\n",
       "  function now() {\n",
       "    return new Date();\n",
       "  }\n",
       "\n",
       "  var force = true;\n",
       "\n",
       "  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
       "    root._bokeh_onload_callbacks = [];\n",
       "    root._bokeh_is_loading = undefined;\n",
       "  }\n",
       "\n",
       "  var JS_MIME_TYPE = 'application/javascript';\n",
       "  var HTML_MIME_TYPE = 'text/html';\n",
       "  var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
       "  var CLASS_NAME = 'output_bokeh rendered_html';\n",
       "\n",
       "  /**\n",
       "   * Render data to the DOM node\n",
       "   */\n",
       "  function render(props, node) {\n",
       "    var script = document.createElement(\"script\");\n",
       "    node.appendChild(script);\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when an output is cleared or removed\n",
       "   */\n",
       "  function handleClearOutput(event, handle) {\n",
       "    var cell = handle.cell;\n",
       "\n",
       "    var id = cell.output_area._bokeh_element_id;\n",
       "    var server_id = cell.output_area._bokeh_server_id;\n",
       "    // Clean up Bokeh references\n",
       "    if (id != null && id in Bokeh.index) {\n",
       "      Bokeh.index[id].model.document.clear();\n",
       "      delete Bokeh.index[id];\n",
       "    }\n",
       "\n",
       "    if (server_id !== undefined) {\n",
       "      // Clean up Bokeh references\n",
       "      var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
       "      cell.notebook.kernel.execute(cmd, {\n",
       "        iopub: {\n",
       "          output: function(msg) {\n",
       "            var id = msg.content.text.trim();\n",
       "            if (id in Bokeh.index) {\n",
       "              Bokeh.index[id].model.document.clear();\n",
       "              delete Bokeh.index[id];\n",
       "            }\n",
       "          }\n",
       "        }\n",
       "      });\n",
       "      // Destroy server and session\n",
       "      var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
       "      cell.notebook.kernel.execute(cmd);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when a new output is added\n",
       "   */\n",
       "  function handleAddOutput(event, handle) {\n",
       "    var output_area = handle.output_area;\n",
       "    var output = handle.output;\n",
       "\n",
       "    // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
       "    if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
       "      return\n",
       "    }\n",
       "\n",
       "    var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
       "\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
       "      toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
       "      // store reference to embed id on output_area\n",
       "      output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
       "    }\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
       "      var bk_div = document.createElement(\"div\");\n",
       "      bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
       "      var script_attrs = bk_div.children[0].attributes;\n",
       "      for (var i = 0; i < script_attrs.length; i++) {\n",
       "        toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
       "      }\n",
       "      // store reference to server id on output_area\n",
       "      output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
       "    }\n",
       "  }\n",
       "\n",
       "  function register_renderer(events, OutputArea) {\n",
       "\n",
       "    function append_mime(data, metadata, element) {\n",
       "      // create a DOM node to render to\n",
       "      var toinsert = this.create_output_subarea(\n",
       "        metadata,\n",
       "        CLASS_NAME,\n",
       "        EXEC_MIME_TYPE\n",
       "      );\n",
       "      this.keyboard_manager.register_events(toinsert);\n",
       "      // Render to node\n",
       "      var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
       "      render(props, toinsert[toinsert.length - 1]);\n",
       "      element.append(toinsert);\n",
       "      return toinsert\n",
       "    }\n",
       "\n",
       "    /* Handle when an output is cleared or removed */\n",
       "    events.on('clear_output.CodeCell', handleClearOutput);\n",
       "    events.on('delete.Cell', handleClearOutput);\n",
       "\n",
       "    /* Handle when a new output is added */\n",
       "    events.on('output_added.OutputArea', handleAddOutput);\n",
       "\n",
       "    /**\n",
       "     * Register the mime type and append_mime function with output_area\n",
       "     */\n",
       "    OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
       "      /* Is output safe? */\n",
       "      safe: true,\n",
       "      /* Index of renderer in `output_area.display_order` */\n",
       "      index: 0\n",
       "    });\n",
       "  }\n",
       "\n",
       "  // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
       "  if (root.Jupyter !== undefined) {\n",
       "    var events = require('base/js/events');\n",
       "    var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
       "\n",
       "    if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
       "      register_renderer(events, OutputArea);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  \n",
       "  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
       "    root._bokeh_timeout = Date.now() + 5000;\n",
       "    root._bokeh_failed_load = false;\n",
       "  }\n",
       "\n",
       "  var NB_LOAD_WARNING = {'data': {'text/html':\n",
       "     \"<div style='background-color: #fdd'>\\n\"+\n",
       "     \"<p>\\n\"+\n",
       "     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
       "     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
       "     \"</p>\\n\"+\n",
       "     \"<ul>\\n\"+\n",
       "     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
       "     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
       "     \"</ul>\\n\"+\n",
       "     \"<code>\\n\"+\n",
       "     \"from bokeh.resources import INLINE\\n\"+\n",
       "     \"output_notebook(resources=INLINE)\\n\"+\n",
       "     \"</code>\\n\"+\n",
       "     \"</div>\"}};\n",
       "\n",
       "  function display_loaded() {\n",
       "    var el = document.getElementById(\"1001\");\n",
       "    if (el != null) {\n",
       "      el.textContent = \"BokehJS is loading...\";\n",
       "    }\n",
       "    if (root.Bokeh !== undefined) {\n",
       "      if (el != null) {\n",
       "        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
       "      }\n",
       "    } else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(display_loaded, 100)\n",
       "    }\n",
       "  }\n",
       "\n",
       "\n",
       "  function run_callbacks() {\n",
       "    try {\n",
       "      root._bokeh_onload_callbacks.forEach(function(callback) {\n",
       "        if (callback != null)\n",
       "          callback();\n",
       "      });\n",
       "    } finally {\n",
       "      delete root._bokeh_onload_callbacks\n",
       "    }\n",
       "    console.debug(\"Bokeh: all callbacks have finished\");\n",
       "  }\n",
       "\n",
       "  function load_libs(css_urls, js_urls, callback) {\n",
       "    if (css_urls == null) css_urls = [];\n",
       "    if (js_urls == null) js_urls = [];\n",
       "\n",
       "    root._bokeh_onload_callbacks.push(callback);\n",
       "    if (root._bokeh_is_loading > 0) {\n",
       "      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
       "      return null;\n",
       "    }\n",
       "    if (js_urls == null || js_urls.length === 0) {\n",
       "      run_callbacks();\n",
       "      return null;\n",
       "    }\n",
       "    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
       "    root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
       "\n",
       "    function on_load() {\n",
       "      root._bokeh_is_loading--;\n",
       "      if (root._bokeh_is_loading === 0) {\n",
       "        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
       "        run_callbacks()\n",
       "      }\n",
       "    }\n",
       "\n",
       "    function on_error() {\n",
       "      console.error(\"failed to load \" + url);\n",
       "    }\n",
       "\n",
       "    for (var i = 0; i < css_urls.length; i++) {\n",
       "      var url = css_urls[i];\n",
       "      const element = document.createElement(\"link\");\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.rel = \"stylesheet\";\n",
       "      element.type = \"text/css\";\n",
       "      element.href = url;\n",
       "      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
       "      document.body.appendChild(element);\n",
       "    }\n",
       "\n",
       "    for (var i = 0; i < js_urls.length; i++) {\n",
       "      var url = js_urls[i];\n",
       "      var element = document.createElement('script');\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.async = false;\n",
       "      element.src = url;\n",
       "      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
       "      document.head.appendChild(element);\n",
       "    }\n",
       "  };var element = document.getElementById(\"1001\");\n",
       "  if (element == null) {\n",
       "    console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n",
       "    return false;\n",
       "  }\n",
       "\n",
       "  function inject_raw_css(css) {\n",
       "    const element = document.createElement(\"style\");\n",
       "    element.appendChild(document.createTextNode(css));\n",
       "    document.body.appendChild(element);\n",
       "  }\n",
       "\n",
       "  var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.3.4.min.js\"];\n",
       "  var css_urls = [];\n",
       "\n",
       "  var inline_js = [\n",
       "    function(Bokeh) {\n",
       "      Bokeh.set_log_level(\"info\");\n",
       "    },\n",
       "    \n",
       "    function(Bokeh) {\n",
       "      \n",
       "    },\n",
       "    function(Bokeh) {} // ensure no trailing comma for IE\n",
       "  ];\n",
       "\n",
       "  function run_inline_js() {\n",
       "    \n",
       "    if ((root.Bokeh !== undefined) || (force === true)) {\n",
       "      for (var i = 0; i < inline_js.length; i++) {\n",
       "        inline_js[i].call(root, root.Bokeh);\n",
       "      }if (force === true) {\n",
       "        display_loaded();\n",
       "      }} else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(run_inline_js, 100);\n",
       "    } else if (!root._bokeh_failed_load) {\n",
       "      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
       "      root._bokeh_failed_load = true;\n",
       "    } else if (force !== true) {\n",
       "      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n",
       "      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
       "    }\n",
       "\n",
       "  }\n",
       "\n",
       "  if (root._bokeh_is_loading === 0) {\n",
       "    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
       "    run_inline_js();\n",
       "  } else {\n",
       "    load_libs(css_urls, js_urls, function() {\n",
       "      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
       "      run_inline_js();\n",
       "    });\n",
       "  }\n",
       "}(window));"
      ],
      "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n  function now() {\n    return new Date();\n  }\n\n  var force = true;\n\n  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n    root._bokeh_onload_callbacks = [];\n    root._bokeh_is_loading = undefined;\n  }\n\n  \n\n  \n  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n    root._bokeh_timeout = Date.now() + 5000;\n    root._bokeh_failed_load = false;\n  }\n\n  var NB_LOAD_WARNING = {'data': {'text/html':\n     \"<div style='background-color: #fdd'>\\n\"+\n     \"<p>\\n\"+\n     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n     \"</p>\\n\"+\n     \"<ul>\\n\"+\n     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n     \"</ul>\\n\"+\n     \"<code>\\n\"+\n     \"from bokeh.resources import INLINE\\n\"+\n     \"output_notebook(resources=INLINE)\\n\"+\n     \"</code>\\n\"+\n     \"</div>\"}};\n\n  function display_loaded() {\n    var el = document.getElementById(\"1001\");\n    if (el != null) {\n      el.textContent = \"BokehJS is loading...\";\n    }\n    if (root.Bokeh !== undefined) {\n      if (el != null) {\n        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n      }\n    } else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(display_loaded, 100)\n    }\n  }\n\n\n  function run_callbacks() {\n    try {\n      root._bokeh_onload_callbacks.forEach(function(callback) {\n        if (callback != null)\n          callback();\n      });\n    } finally {\n      delete root._bokeh_onload_callbacks\n    }\n    console.debug(\"Bokeh: all callbacks have finished\");\n  }\n\n  function load_libs(css_urls, js_urls, callback) {\n    if (css_urls == null) css_urls = [];\n    if (js_urls == null) js_urls = [];\n\n    root._bokeh_onload_callbacks.push(callback);\n    if (root._bokeh_is_loading > 0) {\n      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n      return null;\n    }\n    if (js_urls == null || js_urls.length === 0) {\n      run_callbacks();\n      return null;\n    }\n    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n    root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n    function on_load() {\n      root._bokeh_is_loading--;\n      if (root._bokeh_is_loading === 0) {\n        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n        run_callbacks()\n      }\n    }\n\n    function on_error() {\n      console.error(\"failed to load \" + url);\n    }\n\n    for (var i = 0; i < css_urls.length; i++) {\n      var url = css_urls[i];\n      const element = document.createElement(\"link\");\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.rel = \"stylesheet\";\n      element.type = \"text/css\";\n      element.href = url;\n      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n      document.body.appendChild(element);\n    }\n\n    for (var i = 0; i < js_urls.length; i++) {\n      var url = js_urls[i];\n      var element = document.createElement('script');\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.async = false;\n      element.src = url;\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      document.head.appendChild(element);\n    }\n  };var element = document.getElementById(\"1001\");\n  if (element == null) {\n    console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n    return false;\n  }\n\n  function inject_raw_css(css) {\n    const element = document.createElement(\"style\");\n    element.appendChild(document.createTextNode(css));\n    document.body.appendChild(element);\n  }\n\n  var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.3.4.min.js\"];\n  var css_urls = [];\n\n  var inline_js = [\n    function(Bokeh) {\n      Bokeh.set_log_level(\"info\");\n    },\n    \n    function(Bokeh) {\n      \n    },\n    function(Bokeh) {} // ensure no trailing comma for IE\n  ];\n\n  function run_inline_js() {\n    \n    if ((root.Bokeh !== undefined) || (force === true)) {\n      for (var i = 0; i < inline_js.length; i++) {\n        inline_js[i].call(root, root.Bokeh);\n      }if (force === true) {\n        display_loaded();\n      }} else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(run_inline_js, 100);\n    } else if (!root._bokeh_failed_load) {\n      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n      root._bokeh_failed_load = true;\n    } else if (force !== true) {\n      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n    }\n\n  }\n\n  if (root._bokeh_is_loading === 0) {\n    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n    run_inline_js();\n  } else {\n    load_libs(css_urls, js_urls, function() {\n      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n      run_inline_js();\n    });\n  }\n}(window));"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.plotting import figure, show, output_notebook\n",
    "output_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Full Wavelength Range for 6S"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelengths pass:\n",
      "[0.2  0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3  0.31 0.32 0.33\n",
      " 0.34 0.35 0.36 0.37 0.38 0.39 0.4  0.41 0.42 0.43 0.44 0.45 0.46 0.47\n",
      " 0.48 0.49 0.5  0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6  0.61\n",
      " 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7  0.71 0.72 0.73 0.74 0.75\n",
      " 0.76 0.77 0.78 0.79 0.8  0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89\n",
      " 0.9  0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.   1.01 1.02 1.03\n",
      " 1.04 1.05 1.06 1.07 1.08 1.09 1.1  1.11 1.12 1.13 1.14 1.15 1.16 1.17\n",
      " 1.18 1.19 1.2  1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.3  1.31\n",
      " 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.4  1.41 1.42 1.43 1.44 1.45\n",
      " 1.46 1.47 1.48 1.49 1.5  1.51 1.52 1.53 1.54 1.55 1.56 1.57 1.58 1.59\n",
      " 1.6  1.61 1.62 1.63 1.64 1.65 1.66 1.67 1.68 1.69 1.7  1.71 1.72 1.73\n",
      " 1.74 1.75 1.76 1.77 1.78 1.79 1.8  1.81 1.82 1.83 1.84 1.85 1.86 1.87\n",
      " 1.88 1.89 1.9  1.91 1.92 1.93 1.94 1.95 1.96 1.97 1.98 1.99 2.   2.01\n",
      " 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.1  2.11 2.12 2.13 2.14 2.15\n",
      " 2.16 2.17 2.18 2.19 2.2  2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29\n",
      " 2.3  2.31 2.32 2.33 2.34 2.35 2.36 2.37 2.38 2.39 2.4  2.41 2.42 2.43\n",
      " 2.44 2.45 2.46 2.47 2.48 2.49 2.5  2.51 2.52 2.53 2.54 2.55 2.56 2.57\n",
      " 2.58 2.59 2.6  2.61 2.62 2.63 2.64 2.65 2.66 2.67 2.68 2.69 2.7  2.71\n",
      " 2.72 2.73 2.74 2.75 2.76 2.77 2.78 2.79 2.8  2.81 2.82 2.83 2.84 2.85\n",
      " 2.86 2.87 2.88 2.89 2.9  2.91 2.92 2.93 2.94 2.95 2.96 2.97 2.98 2.99\n",
      " 3.   3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.1  3.11 3.12 3.13\n",
      " 3.14 3.15 3.16 3.17 3.18 3.19 3.2  3.21 3.22 3.23 3.24 3.25 3.26 3.27\n",
      " 3.28 3.29 3.3  3.31 3.32 3.33 3.34 3.35 3.36 3.37 3.38 3.39 3.4  3.41\n",
      " 3.42 3.43 3.44 3.45 3.46 3.47 3.48 3.49 3.5  3.51 3.52 3.53 3.54 3.55\n",
      " 3.56 3.57 3.58 3.59 3.6  3.61 3.62 3.63 3.64 3.65 3.66 3.67 3.68 3.69\n",
      " 3.7  3.71 3.72 3.73 3.74 3.75 3.76 3.77 3.78 3.79 3.8  3.81 3.82 3.83\n",
      " 3.84 3.85 3.86 3.87 3.88 3.89 3.9  3.91 3.92 3.93 3.94 3.95 3.96 3.97\n",
      " 3.98 3.99]\n",
      "<class 'numpy.ndarray'>\n",
      "Running for many wavelengths - this may take a long time\n",
      "0.20.3200000000000001\n",
      "0.4400000000000002\n",
      "0.5600000000000003\n",
      "\n",
      "0.68000000000000040.8000000000000005\n",
      "0.92000000000000061.0400000000000007\n",
      "\n",
      "\n",
      "0.450000000000000230.57000000000000030.9300000000000006\n",
      "\n",
      "\n",
      "1.05000000000000070.21000000000000002\n",
      "\n",
      "0.81000000000000050.33000000000000010.6900000000000004\n",
      "\n",
      "\n",
      "1.0600000000000007\n",
      "0.5800000000000003\n",
      "0.220000000000000030.46000000000000024\n",
      "0.8200000000000005\n",
      "0.9400000000000006\n",
      "0.34000000000000014\n",
      "0.7000000000000004\n",
      "\n",
      "0.5900000000000003\n",
      "1.0700000000000007\n",
      "0.8300000000000005\n",
      "0.95000000000000060.23000000000000004\n",
      "0.7100000000000004\n",
      "\n",
      "0.35000000000000014\n",
      "0.47000000000000025\n",
      "0.8400000000000005\n",
      "0.6000000000000003\n",
      "0.36000000000000015\n",
      "1.08000000000000070.24000000000000005\n",
      "0.7200000000000004\n",
      "\n",
      "0.9600000000000006\n",
      "0.48000000000000026\n",
      "0.8500000000000005\n",
      "0.6100000000000003\n",
      "0.490000000000000270.9700000000000006\n",
      "0.25000000000000006\n",
      "1.0900000000000007\n",
      "0.37000000000000016\n",
      "0.7300000000000004\n",
      "\n",
      "0.6200000000000003\n",
      "0.8600000000000005\n",
      "0.9800000000000006\n",
      "0.50000000000000020.26000000000000006\n",
      "0.7400000000000004\n",
      "0.380000000000000171.1000000000000008\n",
      "\n",
      "\n",
      "0.99000000000000070.8700000000000006\n",
      "\n",
      "0.7500000000000004\n",
      "0.6300000000000003\n",
      "0.27000000000000011.1100000000000008\n",
      "\n",
      "0.3900000000000002\n",
      "0.5100000000000002\n",
      "0.8800000000000006\n",
      "1.0000000000000007\n",
      "0.64000000000000031.1200000000000008\n",
      "0.28000000000000010.5200000000000002\n",
      "0.4000000000000002\n",
      "\n",
      "\n",
      "0.7600000000000005\n",
      "0.8900000000000006\n",
      "1.1300000000000008\n",
      "1.01000000000000070.5300000000000002\n",
      "0.2900000000000001\n",
      "\n",
      "0.77000000000000050.6500000000000004\n",
      "\n",
      "0.4100000000000002\n",
      "0.9000000000000006\n",
      "1.14000000000000080.3000000000000001\n",
      "\n",
      "1.0200000000000007\n",
      "0.42000000000000020.5400000000000003\n",
      "0.6600000000000004\n",
      "\n",
      "0.78000000000000050.3100000000000001\n",
      "0.9100000000000006\n",
      "\n",
      "1.0300000000000007\n",
      "0.67000000000000041.1500000000000008\n",
      "\n",
      "0.55000000000000030.4300000000000002\n",
      "\n",
      "0.7900000000000005\n",
      "1.16000000000000081.280000000000001\n",
      "1.400000000000001\n",
      "\n",
      "1.5200000000000011\n",
      "1.64000000000000121.7600000000000013\n",
      "\n",
      "1.8800000000000014\n",
      "1.290000000000001\n",
      "2.0000000000000018\n",
      "1.1700000000000008\n",
      "1.410000000000001\n",
      "1.53000000000000111.6500000000000012\n",
      "\n",
      "2.0100000000000016\n",
      "1.300000000000001\n",
      "1.77000000000000141.420000000000001\n",
      "\n",
      "1.89000000000000152.020000000000002\n",
      "\n",
      "1.1800000000000008\n",
      "1.5400000000000011\n",
      "1.6600000000000013\n",
      "1.310000000000001\n",
      "2.03000000000000161.7800000000000014\n",
      "1.430000000000001\n",
      "1.9000000000000015\n",
      "\n",
      "1.6700000000000013\n",
      "1.5500000000000012\n",
      "1.1900000000000008\n",
      "1.320000000000001\n",
      "2.040000000000002\n",
      "1.440000000000001\n",
      "1.3300000000000011.6800000000000013\n",
      "\n",
      "1.79000000000000141.20000000000000081.5600000000000012\n",
      "\n",
      "1.9100000000000015\n",
      "\n",
      "1.69000000000000132.0500000000000016\n",
      "\n",
      "1.2100000000000009\n",
      "1.57000000000000121.340000000000001\n",
      "1.9200000000000015\n",
      "1.450000000000001\n",
      "1.8000000000000014\n",
      "\n",
      "2.060000000000002\n",
      "1.2200000000000009\n",
      "1.70000000000000131.4600000000000011.5800000000000012\n",
      "\n",
      "\n",
      "1.8100000000000014\n",
      "1.350000000000001\n",
      "1.93000000000000152.0700000000000016\n",
      "\n",
      "1.4700000000000011.23000000000000091.7100000000000013\n",
      "\n",
      "\n",
      "2.0800000000000021.5900000000000012\n",
      "\n",
      "1.9400000000000015\n",
      "1.8200000000000014\n",
      "1.24000000000000091.7200000000000013\n",
      "1.360000000000001\n",
      "\n",
      "1.4800000000000011.6000000000000012\n",
      "2.0900000000000016\n",
      "1.9500000000000015\n",
      "\n",
      "2.1000000000000021.8300000000000014\n",
      "1.370000000000001\n",
      "\n",
      "1.61000000000000121.490000000000001\n",
      "1.2500000000000009\n",
      "1.7300000000000013\n",
      "\n",
      "1.9600000000000015\n",
      "1.8400000000000014\n",
      "1.3800000000000011.5000000000000011.7400000000000013\n",
      "1.6200000000000012\n",
      "\n",
      "1.260000000000001\n",
      "\n",
      "2.11000000000000171.9700000000000015\n",
      "\n",
      "1.5100000000000011\n",
      "1.3900000000000011.7500000000000013\n",
      "\n",
      "1.6300000000000012\n",
      "1.98000000000000151.270000000000001\n",
      "1.8500000000000014\n",
      "\n",
      "2.120000000000002\n",
      "2.240000000000002\n",
      "2.3600000000000022.480000000000002\n",
      "\n",
      "1.9900000000000015\n",
      "2.6000000000000023\n",
      "2.7200000000000024\n",
      "1.8600000000000014\n",
      "2.1300000000000017\n",
      "2.370000000000002\n",
      "2.140000000000002\n",
      "1.87000000000000142.7300000000000022.84000000000000252.2500000000000018\n",
      "\n",
      "\n",
      "2.490000000000002\n",
      "\n",
      "2.610000000000002\n",
      "2.380000000000002\n",
      "2.96000000000000262.260000000000002\n",
      "2.8500000000000023\n",
      "\n",
      "2.7400000000000024\n",
      "2.62000000000000232.1500000000000017\n",
      "\n",
      "2.500000000000002\n",
      "2.3900000000000023\n",
      "2.27000000000000222.97000000000000242.86000000000000252.7500000000000027\n",
      "\n",
      "\n",
      "\n",
      "2.1600000000000022.6300000000000026\n",
      "\n",
      "2.5100000000000025\n",
      "2.400000000000002\n",
      "2.76000000000000252.280000000000002\n",
      "\n",
      "2.1700000000000017\n",
      "2.8700000000000028\n",
      "2.52000000000000222.9800000000000026\n",
      "\n",
      "2.6400000000000023\n",
      "2.410000000000002\n",
      "2.2900000000000022.7700000000000022\n",
      "\n",
      "2.9900000000000032.5300000000000022.8800000000000026\n",
      "2.650000000000002\n",
      "2.180000000000002\n",
      "\n",
      "\n",
      "2.420000000000002\n",
      "2.7800000000000025\n",
      "2.1900000000000017\n",
      "2.300000000000002\n",
      "3.00000000000000272.6600000000000024\n",
      "2.5400000000000023\n",
      "\n",
      "2.8900000000000023\n",
      "2.43000000000000242.6700000000000026\n",
      "2.200000000000002\n",
      "\n",
      "2.79000000000000272.5500000000000025\n",
      "\n",
      "2.31000000000000233.01000000000000252.9000000000000026\n",
      "\n",
      "\n",
      "2.56000000000000232.2100000000000017\n",
      "\n",
      "2.80000000000000252.68000000000000242.440000000000002\n",
      "\n",
      "\n",
      "2.910000000000003\n",
      "2.3200000000000022.220000000000002\n",
      "\n",
      "3.0200000000000027\n",
      "2.6900000000000022.570000000000002\n",
      "\n",
      "2.450000000000002\n",
      "2.8100000000000023\n",
      "2.230000000000002\n",
      "2.9200000000000026\n",
      "3.0300000000000032.7000000000000024\n",
      "2.330000000000002\n",
      "\n",
      "2.460000000000002\n",
      "2.82000000000000252.5800000000000023\n",
      "\n",
      "3.08000000000000272.9300000000000024\n",
      "\n",
      "2.340000000000002\n",
      "2.7100000000000026\n",
      "3.0400000000000027\n",
      "2.8300000000000027\n",
      "2.4700000000000024\n",
      "3.0900000000000025\n",
      "2.9400000000000026\n",
      "2.5900000000000025\n",
      "2.3500000000000023\n",
      "3.0500000000000025\n",
      "3.200000000000003\n",
      "3.320000000000003\n",
      "3.1000000000000028\n",
      "2.950000000000003\n",
      "3.4400000000000033.560000000000003\n",
      "\n",
      "3.68000000000000333.2100000000000026\n",
      "\n",
      "3.0600000000000027\n",
      "3.3300000000000027\n",
      "3.8000000000000034\n",
      "3.4500000000000033.570000000000003\n",
      "\n",
      "3.1100000000000033.220000000000003\n",
      "\n",
      "3.070000000000003\n",
      "3.810000000000003\n",
      "3.4600000000000033.580000000000003\n",
      "\n",
      "3.340000000000003\n",
      "3.6900000000000033.230000000000003\n",
      "\n",
      "3.350000000000003\n",
      "3.12000000000000283.9200000000000035\n",
      "\n",
      "3.4700000000000033\n",
      "3.8200000000000034\n",
      "3.5900000000000034\n",
      "3.240000000000003\n",
      "3.3600000000000033.9300000000000033\n",
      "\n",
      "3.1300000000000026\n",
      "3.70000000000000333.480000000000003\n",
      "\n",
      "3.8300000000000036\n",
      "3.600000000000003\n",
      "3.94000000000000353.140000000000003\n",
      "\n",
      "3.2500000000000027\n",
      "3.3700000000000028\n",
      "3.71000000000000353.490000000000003\n",
      "\n",
      "3.84000000000000343.610000000000003\n",
      "\n",
      "3.9500000000000037\n",
      "3.260000000000003\n",
      "3.3800000000000033.150000000000003\n",
      "\n",
      "3.8500000000000033.7200000000000033\n",
      "\n",
      "3.500000000000003\n",
      "3.9600000000000035\n",
      "3.6200000000000033.3900000000000032\n",
      "3.160000000000003\n",
      "\n",
      "3.270000000000003\n",
      "3.8600000000000034\n",
      "3.730000000000003\n",
      "3.9700000000000033\n",
      "3.5100000000000033\n",
      "3.6300000000000034\n",
      "3.1700000000000026\n",
      "3.400000000000003\n",
      "3.74000000000000333.280000000000003\n",
      "\n",
      "3.8700000000000037\n",
      "3.9800000000000035\n",
      "3.6400000000000032\n",
      "3.180000000000003\n",
      "3.29000000000000273.520000000000003\n",
      "3.7500000000000036\n",
      "\n",
      "3.410000000000003\n",
      "3.8800000000000034\n",
      "3.1900000000000033.300000000000003\n",
      "3.76000000000000333.530000000000003\n",
      "\n",
      "\n",
      "3.4200000000000033.6500000000000033.99000000000000383.8900000000000032\n",
      "\n",
      "\n",
      "\n",
      "3.540000000000003\n",
      "3.4300000000000033\n",
      "3.770000000000003\n",
      "3.310000000000003\n",
      "3.6600000000000033\n",
      "3.9000000000000035\n",
      "3.78000000000000343.5500000000000034\n",
      "\n",
      "3.6700000000000035\n",
      "3.9100000000000037\n",
      "3.7900000000000036\n",
      "wavelengths pass:\n",
      "[0.2  0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3  0.31 0.32 0.33\n",
      " 0.34 0.35 0.36 0.37 0.38 0.39 0.4  0.41 0.42 0.43 0.44 0.45 0.46 0.47\n",
      " 0.48 0.49 0.5  0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6  0.61\n",
      " 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7  0.71 0.72 0.73 0.74 0.75\n",
      " 0.76 0.77 0.78 0.79 0.8  0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89\n",
      " 0.9  0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.   1.01 1.02 1.03\n",
      " 1.04 1.05 1.06 1.07 1.08 1.09 1.1  1.11 1.12 1.13 1.14 1.15 1.16 1.17\n",
      " 1.18 1.19 1.2  1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.3  1.31\n",
      " 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.4  1.41 1.42 1.43 1.44 1.45\n",
      " 1.46 1.47 1.48 1.49 1.5  1.51 1.52 1.53 1.54 1.55 1.56 1.57 1.58 1.59\n",
      " 1.6  1.61 1.62 1.63 1.64 1.65 1.66 1.67 1.68 1.69 1.7  1.71 1.72 1.73\n",
      " 1.74 1.75 1.76 1.77 1.78 1.79 1.8  1.81 1.82 1.83 1.84 1.85 1.86 1.87\n",
      " 1.88 1.89 1.9  1.91 1.92 1.93 1.94 1.95 1.96 1.97 1.98 1.99 2.   2.01\n",
      " 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.1  2.11 2.12 2.13 2.14 2.15\n",
      " 2.16 2.17 2.18 2.19 2.2  2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29\n",
      " 2.3  2.31 2.32 2.33 2.34 2.35 2.36 2.37 2.38 2.39 2.4  2.41 2.42 2.43\n",
      " 2.44 2.45 2.46 2.47 2.48 2.49 2.5  2.51 2.52 2.53 2.54 2.55 2.56 2.57\n",
      " 2.58 2.59 2.6  2.61 2.62 2.63 2.64 2.65 2.66 2.67 2.68 2.69 2.7  2.71\n",
      " 2.72 2.73 2.74 2.75 2.76 2.77 2.78 2.79 2.8  2.81 2.82 2.83 2.84 2.85\n",
      " 2.86 2.87 2.88 2.89 2.9  2.91 2.92 2.93 2.94 2.95 2.96 2.97 2.98 2.99\n",
      " 3.   3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.1  3.11 3.12 3.13\n",
      " 3.14 3.15 3.16 3.17 3.18 3.19 3.2  3.21 3.22 3.23 3.24 3.25 3.26 3.27\n",
      " 3.28 3.29 3.3  3.31 3.32 3.33 3.34 3.35 3.36 3.37 3.38 3.39 3.4  3.41\n",
      " 3.42 3.43 3.44 3.45 3.46 3.47 3.48 3.49 3.5  3.51 3.52 3.53 3.54 3.55\n",
      " 3.56 3.57 3.58 3.59 3.6  3.61 3.62 3.63 3.64 3.65 3.66 3.67 3.68 3.69\n",
      " 3.7  3.71 3.72 3.73 3.74 3.75 3.76 3.77 3.78 3.79 3.8  3.81 3.82 3.83\n",
      " 3.84 3.85 3.86 3.87 3.88 3.89 3.9  3.91 3.92 3.93 3.94 3.95 3.96 3.97\n",
      " 3.98 3.99]\n",
      "<class 'numpy.ndarray'>\n",
      "Running for many wavelengths - this may take a long time\n",
      "0.20.3200000000000001\n",
      "0.4400000000000002\n",
      "0.56000000000000030.6800000000000004\n",
      "\n",
      "\n",
      "0.8000000000000005\n",
      "0.92000000000000061.0400000000000007\n",
      "\n",
      "0.45000000000000023\n",
      "0.69000000000000040.5700000000000003\n",
      "\n",
      "0.9300000000000006\n",
      "0.8100000000000005\n",
      "0.21000000000000002\n",
      "0.33000000000000011.0500000000000007\n",
      "\n",
      "0.46000000000000024\n",
      "0.7000000000000004\n",
      "0.9400000000000006\n",
      "0.5800000000000003\n",
      "0.8200000000000005\n",
      "0.22000000000000003\n",
      "1.0600000000000007\n",
      "0.34000000000000014\n",
      "0.47000000000000025\n",
      "0.7100000000000004\n",
      "0.9500000000000006\n",
      "0.5900000000000003\n",
      "0.23000000000000004\n",
      "1.0700000000000007\n",
      "0.35000000000000014\n",
      "0.8300000000000005\n",
      "0.480000000000000260.72000000000000040.24000000000000005\n",
      "\n",
      "\n",
      "0.96000000000000061.0800000000000007\n",
      "\n",
      "0.36000000000000015\n",
      "0.6000000000000003\n",
      "0.8400000000000005\n",
      "0.49000000000000027\n",
      "0.7300000000000004\n",
      "0.25000000000000006\n",
      "1.0900000000000007\n",
      "0.37000000000000016\n",
      "0.61000000000000030.9700000000000006\n",
      "0.8500000000000005\n",
      "\n",
      "0.7400000000000004\n",
      "0.5000000000000002\n",
      "1.1000000000000008\n",
      "0.26000000000000006\n",
      "0.62000000000000030.38000000000000017\n",
      "\n",
      "0.8600000000000005\n",
      "0.9800000000000006\n",
      "0.5100000000000002\n",
      "1.11000000000000080.2700000000000001\n",
      "\n",
      "0.7500000000000004\n",
      "0.6300000000000003\n",
      "0.39000000000000020.9900000000000007\n",
      "\n",
      "0.8700000000000006\n",
      "0.5200000000000002\n",
      "1.1200000000000008\n",
      "0.2800000000000001\n",
      "0.7600000000000005\n",
      "0.6400000000000003\n",
      "0.4000000000000002\n",
      "1.0000000000000007\n",
      "0.8800000000000006\n",
      "0.5300000000000002\n",
      "1.1300000000000008\n",
      "0.2900000000000001\n",
      "0.6500000000000004\n",
      "0.7700000000000005\n",
      "0.4100000000000002\n",
      "0.8900000000000006\n",
      "0.54000000000000031.0100000000000007\n",
      "1.1400000000000008\n",
      "0.3000000000000001\n",
      "\n",
      "0.6600000000000004\n",
      "0.7800000000000005\n",
      "0.9000000000000006\n",
      "0.4200000000000002\n",
      "0.5500000000000003\n",
      "1.15000000000000081.0200000000000007\n",
      "0.6700000000000004\n",
      "\n",
      "0.9100000000000006\n",
      "0.31000000000000010.7900000000000005\n",
      "\n",
      "0.4300000000000002\n",
      "1.1600000000000008\n",
      "1.0300000000000007\n",
      "1.280000000000001\n",
      "1.4000000000000011.5200000000000011\n",
      "\n",
      "1.6400000000000012\n",
      "1.17000000000000081.7600000000000013\n",
      "1.8800000000000014\n",
      "\n",
      "2.0000000000000018\n",
      "1.290000000000001\n",
      "1.5300000000000011\n",
      "1.77000000000000141.410000000000001\n",
      "1.1800000000000008\n",
      "\n",
      "1.89000000000000151.6500000000000012\n",
      "\n",
      "2.0100000000000016\n",
      "1.300000000000001\n",
      "1.5400000000000011\n",
      "1.420000000000001\n",
      "1.1900000000000008\n",
      "1.9000000000000015\n",
      "1.7800000000000014\n",
      "1.6600000000000013\n",
      "1.3100000000000012.020000000000002\n",
      "1.5500000000000012\n",
      "\n",
      "1.4300000000000011.2000000000000008\n",
      "\n",
      "1.7900000000000014\n",
      "1.91000000000000151.6700000000000013\n",
      "\n",
      "2.0300000000000016\n",
      "1.5600000000000012\n",
      "1.320000000000001\n",
      "1.440000000000001\n",
      "1.8000000000000014\n",
      "1.2100000000000009\n",
      "1.92000000000000152.0400000000000021.5700000000000012\n",
      "\n",
      "\n",
      "1.330000000000001\n",
      "1.6800000000000013\n",
      "1.81000000000000141.450000000000001\n",
      "1.2200000000000009\n",
      "\n",
      "1.93000000000000151.5800000000000012\n",
      "\n",
      "1.6900000000000013\n",
      "2.05000000000000161.340000000000001\n",
      "\n",
      "1.82000000000000141.460000000000001\n",
      "\n",
      "1.2300000000000009\n",
      "1.7000000000000013\n",
      "1.3500000000000011.9400000000000015\n",
      "\n",
      "1.59000000000000121.8300000000000014\n",
      "\n",
      "2.0600000000000021.2400000000000009\n",
      "\n",
      "1.71000000000000131.4700000000000011.360000000000001\n",
      "\n",
      "\n",
      "1.9500000000000015\n",
      "1.8400000000000014\n",
      "2.0700000000000016\n",
      "1.60000000000000121.2500000000000009\n",
      "1.7200000000000013\n",
      "\n",
      "1.480000000000001\n",
      "1.370000000000001\n",
      "1.9600000000000015\n",
      "1.85000000000000141.6100000000000012\n",
      "2.080000000000002\n",
      "1.7300000000000013\n",
      "\n",
      "1.260000000000001\n",
      "1.380000000000001\n",
      "1.9700000000000015\n",
      "1.490000000000001\n",
      "1.6200000000000012\n",
      "1.7400000000000013\n",
      "1.8600000000000014\n",
      "2.0900000000000016\n",
      "1.270000000000001\n",
      "1.390000000000001\n",
      "1.87000000000000141.9800000000000015\n",
      "1.75000000000000131.6300000000000012\n",
      "\n",
      "\n",
      "2.100000000000002\n",
      "2.1200000000000021.500000000000001\n",
      "\n",
      "2.240000000000002\n",
      "2.360000000000002\n",
      "2.13000000000000172.4800000000000022.6000000000000023\n",
      "\n",
      "\n",
      "1.99000000000000151.5100000000000011\n",
      "\n",
      "2.1100000000000017\n",
      "2.2500000000000018\n",
      "2.370000000000002\n",
      "2.610000000000002\n",
      "2.140000000000002\n",
      "2.7200000000000024\n",
      "2.490000000000002\n",
      "2.8400000000000025\n",
      "2.9600000000000026\n",
      "2.380000000000002\n",
      "2.260000000000002\n",
      "2.500000000000002\n",
      "2.6200000000000023\n",
      "2.1500000000000017\n",
      "2.8500000000000023\n",
      "2.7300000000000022.9700000000000024\n",
      "\n",
      "2.2700000000000022\n",
      "2.3900000000000023\n",
      "2.5100000000000025\n",
      "2.6300000000000026\n",
      "2.160000000000002\n",
      "2.8600000000000025\n",
      "2.98000000000000262.7400000000000024\n",
      "\n",
      "2.6400000000000023\n",
      "2.2800000000000022.400000000000002\n",
      "\n",
      "2.5200000000000022\n",
      "2.1700000000000017\n",
      "2.990000000000003\n",
      "2.8700000000000028\n",
      "2.7500000000000027\n",
      "2.6500000000000022.290000000000002\n",
      "\n",
      "2.410000000000002\n",
      "2.1800000000000022.530000000000002\n",
      "\n",
      "2.8800000000000026\n",
      "2.66000000000000242.7600000000000025\n",
      "\n",
      "2.420000000000002\n",
      "2.3000000000000023.0000000000000027\n",
      "\n",
      "2.54000000000000232.19000000000000172.8900000000000023\n",
      "\n",
      "\n",
      "2.7700000000000022\n",
      "2.43000000000000242.6700000000000026\n",
      "2.31000000000000233.0100000000000025\n",
      "\n",
      "2.200000000000002\n",
      "\n",
      "2.7800000000000025\n",
      "2.9000000000000026\n",
      "2.55000000000000252.6800000000000024\n",
      "\n",
      "2.21000000000000172.440000000000002\n",
      "\n",
      "2.9100000000000033.0200000000000027\n",
      "\n",
      "2.7900000000000027\n",
      "2.320000000000002\n",
      "2.5600000000000023\n",
      "2.450000000000002\n",
      "2.690000000000002\n",
      "3.030000000000003\n",
      "2.9200000000000026\n",
      "2.220000000000002\n",
      "2.330000000000002\n",
      "2.8000000000000025\n",
      "2.460000000000002\n",
      "2.570000000000002\n",
      "3.04000000000000272.7000000000000024\n",
      "2.9300000000000024\n",
      "\n",
      "2.2300000000000022.4700000000000024\n",
      "\n",
      "2.340000000000002\n",
      "2.58000000000000232.8100000000000023\n",
      "\n",
      "2.71000000000000263.0500000000000025\n",
      "\n",
      "2.9400000000000026\n",
      "3.0800000000000027\n",
      "2.35000000000000232.8200000000000025\n",
      "3.200000000000003\n",
      "2.5900000000000025\n",
      "3.3200000000000032.950000000000003\n",
      "\n",
      "\n",
      "3.0600000000000027\n",
      "3.0900000000000025\n",
      "3.4400000000000032.8300000000000027\n",
      "\n",
      "3.21000000000000263.5600000000000033.6800000000000033\n",
      "3.3300000000000027\n",
      "3.070000000000003\n",
      "\n",
      "\n",
      "3.1000000000000028\n",
      "3.8000000000000034\n",
      "3.5700000000000033.450000000000003\n",
      "\n",
      "3.3400000000000033.690000000000003\n",
      "\n",
      "3.110000000000003\n",
      "3.9200000000000035\n",
      "3.220000000000003\n",
      "3.810000000000003\n",
      "3.5800000000000033.460000000000003\n",
      "\n",
      "3.1200000000000028\n",
      "3.7000000000000033\n",
      "3.230000000000003\n",
      "3.3500000000000033.9300000000000033\n",
      "\n",
      "3.8200000000000034\n",
      "3.5900000000000034\n",
      "3.47000000000000333.1300000000000026\n",
      "\n",
      "3.7100000000000035\n",
      "3.94000000000000353.240000000000003\n",
      "\n",
      "3.360000000000003\n",
      "3.6000000000000033.8300000000000036\n",
      "\n",
      "3.140000000000003\n",
      "3.2500000000000027\n",
      "3.7200000000000033\n",
      "3.480000000000003\n",
      "3.9500000000000037\n",
      "3.3700000000000028\n",
      "3.610000000000003\n",
      "3.8400000000000034\n",
      "3.730000000000003\n",
      "3.1500000000000033.260000000000003\n",
      "3.9600000000000035\n",
      "3.490000000000003\n",
      "\n",
      "3.380000000000003\n",
      "3.850000000000003\n",
      "3.620000000000003\n",
      "3.1600000000000033.74000000000000333.9700000000000033\n",
      "\n",
      "3.500000000000003\n",
      "3.270000000000003\n",
      "\n",
      "3.3900000000000032\n",
      "3.5100000000000033\n",
      "3.63000000000000343.8600000000000034\n",
      "3.280000000000003\n",
      "3.9800000000000035\n",
      "\n",
      "3.17000000000000263.75000000000000363.400000000000003\n",
      "\n",
      "\n",
      "3.520000000000003\n",
      "3.2900000000000027\n",
      "3.8700000000000037\n",
      "3.64000000000000323.99000000000000383.410000000000003\n",
      "3.7600000000000033\n",
      "\n",
      "\n",
      "3.180000000000003\n",
      "3.530000000000003\n",
      "3.8800000000000034\n",
      "3.650000000000003\n",
      "3.300000000000003\n",
      "3.7700000000000033.420000000000003\n",
      "3.190000000000003\n",
      "\n",
      "3.8900000000000032\n",
      "3.540000000000003\n",
      "3.6600000000000033\n",
      "3.78000000000000343.310000000000003\n",
      "\n",
      "3.4300000000000033\n",
      "3.5500000000000034\n",
      "3.9000000000000035\n",
      "3.6700000000000035\n",
      "3.7900000000000036\n",
      "3.9100000000000037\n",
      "wavelengths pass:\n",
      "[0.2  0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3  0.31 0.32 0.33\n",
      " 0.34 0.35 0.36 0.37 0.38 0.39 0.4  0.41 0.42 0.43 0.44 0.45 0.46 0.47\n",
      " 0.48 0.49 0.5  0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6  0.61\n",
      " 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7  0.71 0.72 0.73 0.74 0.75\n",
      " 0.76 0.77 0.78 0.79 0.8  0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89\n",
      " 0.9  0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.   1.01 1.02 1.03\n",
      " 1.04 1.05 1.06 1.07 1.08 1.09 1.1  1.11 1.12 1.13 1.14 1.15 1.16 1.17\n",
      " 1.18 1.19 1.2  1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.3  1.31\n",
      " 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.4  1.41 1.42 1.43 1.44 1.45\n",
      " 1.46 1.47 1.48 1.49 1.5  1.51 1.52 1.53 1.54 1.55 1.56 1.57 1.58 1.59\n",
      " 1.6  1.61 1.62 1.63 1.64 1.65 1.66 1.67 1.68 1.69 1.7  1.71 1.72 1.73\n",
      " 1.74 1.75 1.76 1.77 1.78 1.79 1.8  1.81 1.82 1.83 1.84 1.85 1.86 1.87\n",
      " 1.88 1.89 1.9  1.91 1.92 1.93 1.94 1.95 1.96 1.97 1.98 1.99 2.   2.01\n",
      " 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.1  2.11 2.12 2.13 2.14 2.15\n",
      " 2.16 2.17 2.18 2.19 2.2  2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29\n",
      " 2.3  2.31 2.32 2.33 2.34 2.35 2.36 2.37 2.38 2.39 2.4  2.41 2.42 2.43\n",
      " 2.44 2.45 2.46 2.47 2.48 2.49 2.5  2.51 2.52 2.53 2.54 2.55 2.56 2.57\n",
      " 2.58 2.59 2.6  2.61 2.62 2.63 2.64 2.65 2.66 2.67 2.68 2.69 2.7  2.71\n",
      " 2.72 2.73 2.74 2.75 2.76 2.77 2.78 2.79 2.8  2.81 2.82 2.83 2.84 2.85\n",
      " 2.86 2.87 2.88 2.89 2.9  2.91 2.92 2.93 2.94 2.95 2.96 2.97 2.98 2.99\n",
      " 3.   3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.1  3.11 3.12 3.13\n",
      " 3.14 3.15 3.16 3.17 3.18 3.19 3.2  3.21 3.22 3.23 3.24 3.25 3.26 3.27\n",
      " 3.28 3.29 3.3  3.31 3.32 3.33 3.34 3.35 3.36 3.37 3.38 3.39 3.4  3.41\n",
      " 3.42 3.43 3.44 3.45 3.46 3.47 3.48 3.49 3.5  3.51 3.52 3.53 3.54 3.55\n",
      " 3.56 3.57 3.58 3.59 3.6  3.61 3.62 3.63 3.64 3.65 3.66 3.67 3.68 3.69\n",
      " 3.7  3.71 3.72 3.73 3.74 3.75 3.76 3.77 3.78 3.79 3.8  3.81 3.82 3.83\n",
      " 3.84 3.85 3.86 3.87 3.88 3.89 3.9  3.91 3.92 3.93 3.94 3.95 3.96 3.97\n",
      " 3.98 3.99]\n",
      "<class 'numpy.ndarray'>\n",
      "Running for many wavelengths - this may take a long time\n",
      "0.20.3200000000000001\n",
      "\n",
      "0.44000000000000020.5600000000000003\n",
      "\n",
      "0.68000000000000040.8000000000000005\n",
      "0.9200000000000006\n",
      "\n",
      "1.0400000000000007\n",
      "0.45000000000000023\n",
      "0.6900000000000004\n",
      "0.8100000000000005\n",
      "0.9300000000000006\n",
      "0.5700000000000003\n",
      "0.3300000000000001\n",
      "0.21000000000000002\n",
      "1.0500000000000007\n",
      "0.46000000000000024\n",
      "0.7000000000000004\n",
      "0.8200000000000005\n",
      "0.220000000000000031.06000000000000070.5800000000000003\n",
      "0.9400000000000006\n",
      "\n",
      "\n",
      "0.47000000000000025\n",
      "0.34000000000000014\n",
      "0.83000000000000050.7100000000000004\n",
      "\n",
      "0.95000000000000061.0700000000000007\n",
      "\n",
      "0.230000000000000040.48000000000000026\n",
      "\n",
      "0.5900000000000003\n",
      "0.84000000000000050.35000000000000014\n",
      "\n",
      "0.7200000000000004\n",
      "1.0800000000000007\n",
      "0.96000000000000060.49000000000000027\n",
      "\n",
      "0.24000000000000005\n",
      "0.85000000000000050.6000000000000003\n",
      "\n",
      "0.360000000000000150.7300000000000004\n",
      "\n",
      "1.0900000000000007\n",
      "0.50000000000000020.9700000000000006\n",
      "\n",
      "0.25000000000000006\n",
      "0.6100000000000003\n",
      "0.8600000000000005\n",
      "1.10000000000000080.37000000000000016\n",
      "\n",
      "0.9800000000000006\n",
      "0.74000000000000040.5100000000000002\n",
      "\n",
      "0.26000000000000006\n",
      "0.62000000000000030.8700000000000006\n",
      "\n",
      "1.1100000000000008\n",
      "0.9900000000000007\n",
      "0.38000000000000017\n",
      "0.7500000000000004\n",
      "0.52000000000000021.12000000000000080.2700000000000001\n",
      "\n",
      "0.6300000000000003\n",
      "0.8800000000000006\n",
      "\n",
      "1.0000000000000007\n",
      "0.3900000000000002\n",
      "0.7600000000000005\n",
      "1.1300000000000008\n",
      "0.2800000000000001\n",
      "0.4000000000000002\n",
      "0.6400000000000003\n",
      "0.89000000000000060.5300000000000002\n",
      "1.0100000000000007\n",
      "\n",
      "0.77000000000000051.1400000000000008\n",
      "\n",
      "0.2900000000000001\n",
      "0.4100000000000002\n",
      "0.54000000000000030.9000000000000006\n",
      "\n",
      "0.78000000000000050.6500000000000004\n",
      "1.0200000000000007\n",
      "1.1500000000000008\n",
      "\n",
      "0.3000000000000001\n",
      "0.4200000000000002\n",
      "1.0300000000000007\n",
      "0.5500000000000003\n",
      "0.9100000000000006\n",
      "0.66000000000000041.1600000000000008\n",
      "\n",
      "0.7900000000000005\n",
      "0.4300000000000002\n",
      "0.3100000000000001\n",
      "1.280000000000001\n",
      "1.400000000000001\n",
      "0.6700000000000004\n",
      "1.5200000000000011\n",
      "1.17000000000000081.6400000000000012\n",
      "\n",
      "1.76000000000000131.8800000000000014\n",
      "\n",
      "1.290000000000001\n",
      "1.410000000000001\n",
      "1.6500000000000012\n",
      "1.5300000000000011\n",
      "1.8900000000000015\n",
      "1.18000000000000081.7700000000000014\n",
      "2.0000000000000018\n",
      "\n",
      "1.300000000000001\n",
      "1.66000000000000131.420000000000001\n",
      "\n",
      "1.5400000000000011\n",
      "1.7800000000000014\n",
      "1.1900000000000008\n",
      "1.9000000000000015\n",
      "2.0100000000000016\n",
      "1.310000000000001\n",
      "1.5500000000000012\n",
      "1.67000000000000131.7900000000000014\n",
      "1.430000000000001\n",
      "\n",
      "1.2000000000000008\n",
      "2.020000000000002\n",
      "1.91000000000000151.320000000000001\n",
      "\n",
      "1.80000000000000141.440000000000001\n",
      "\n",
      "1.5600000000000012\n",
      "1.2100000000000009\n",
      "1.6800000000000013\n",
      "2.0300000000000016\n",
      "1.330000000000001\n",
      "1.8100000000000014\n",
      "1.57000000000000121.450000000000001\n",
      "\n",
      "1.9200000000000015\n",
      "2.040000000000002\n",
      "1.2200000000000009\n",
      "1.6900000000000013\n",
      "1.340000000000001\n",
      "1.58000000000000121.82000000000000141.9300000000000015\n",
      "\n",
      "1.460000000000001\n",
      "\n",
      "2.0500000000000016\n",
      "1.2300000000000009\n",
      "1.7000000000000013\n",
      "1.350000000000001\n",
      "1.8300000000000014\n",
      "1.470000000000001\n",
      "1.9400000000000015\n",
      "1.59000000000000122.060000000000002\n",
      "\n",
      "1.24000000000000091.360000000000001\n",
      "\n",
      "1.71000000000000131.8400000000000014\n",
      "\n",
      "1.480000000000001\n",
      "1.9500000000000015\n",
      "2.0700000000000016\n",
      "1.25000000000000091.370000000000001\n",
      "1.7200000000000013\n",
      "1.6000000000000012\n",
      "\n",
      "1.490000000000001\n",
      "1.8500000000000014\n",
      "1.9600000000000015\n",
      "2.080000000000002\n",
      "1.61000000000000121.7300000000000013\n",
      "\n",
      "1.2600000000000011.8600000000000014\n",
      "1.9700000000000015\n",
      "\n",
      "1.380000000000001\n",
      "1.5000000000000012.0900000000000016\n",
      "\n",
      "1.6200000000000012\n",
      "1.7400000000000013\n",
      "1.98000000000000151.270000000000001\n",
      "\n",
      "1.8700000000000014\n",
      "2.100000000000002\n",
      "1.5100000000000011\n",
      "1.3900000000000011.6300000000000012\n",
      "\n",
      "1.7500000000000013\n",
      "2.1200000000000021.9900000000000015\n",
      "\n",
      "2.240000000000002\n",
      "2.360000000000002\n",
      "2.11000000000000172.480000000000002\n",
      "\n",
      "2.3700000000000022.1300000000000017\n",
      "\n",
      "2.6000000000000023\n",
      "2.7200000000000024\n",
      "2.8400000000000025\n",
      "2.490000000000002\n",
      "2.2500000000000018\n",
      "2.9600000000000026\n",
      "2.380000000000002\n",
      "2.610000000000002\n",
      "2.500000000000002\n",
      "2.1400000000000022.8500000000000023\n",
      "2.730000000000002\n",
      "\n",
      "2.2600000000000022.3900000000000023\n",
      "\n",
      "2.9700000000000024\n",
      "2.6200000000000023\n",
      "2.74000000000000242.8600000000000025\n",
      "\n",
      "2.51000000000000252.15000000000000172.2700000000000022\n",
      "\n",
      "\n",
      "2.400000000000002\n",
      "2.9800000000000026\n",
      "2.6300000000000026\n",
      "2.5200000000000022\n",
      "2.8700000000000028\n",
      "2.280000000000002\n",
      "2.75000000000000272.990000000000003\n",
      "\n",
      "2.160000000000002\n",
      "2.64000000000000232.410000000000002\n",
      "\n",
      "2.290000000000002\n",
      "2.5300000000000022.8800000000000026\n",
      "\n",
      "3.00000000000000272.7600000000000025\n",
      "\n",
      "2.1700000000000017\n",
      "2.6500000000000022.5400000000000023\n",
      "\n",
      "2.4200000000000022.8900000000000023\n",
      "\n",
      "2.300000000000002\n",
      "2.180000000000002\n",
      "2.7700000000000022\n",
      "3.0100000000000025\n",
      "2.66000000000000242.5500000000000025\n",
      "\n",
      "2.4300000000000024\n",
      "2.9000000000000026\n",
      "2.3100000000000023\n",
      "2.1900000000000017\n",
      "2.5600000000000023\n",
      "2.6700000000000026\n",
      "2.910000000000003\n",
      "2.78000000000000253.0200000000000027\n",
      "\n",
      "2.440000000000002\n",
      "2.3200000000000022.200000000000002\n",
      "\n",
      "2.68000000000000242.570000000000002\n",
      "\n",
      "2.7900000000000027\n",
      "3.0300000000000032.9200000000000026\n",
      "\n",
      "2.450000000000002\n",
      "2.330000000000002\n",
      "2.2100000000000017\n",
      "2.80000000000000252.5800000000000023\n",
      "\n",
      "2.690000000000002\n",
      "2.9300000000000024\n",
      "3.04000000000000272.5900000000000025\n",
      "\n",
      "2.8100000000000023\n",
      "2.3400000000000022.4600000000000022.220000000000002\n",
      "\n",
      "\n",
      "2.7000000000000024\n",
      "3.0800000000000027\n",
      "3.0500000000000025\n",
      "2.8200000000000025\n",
      "2.94000000000000262.230000000000002\n",
      "\n",
      "2.35000000000000232.7100000000000026\n",
      "2.4700000000000024\n",
      "\n",
      "3.0900000000000025\n",
      "3.0600000000000027\n",
      "2.8300000000000027\n",
      "3.2000000000000033.320000000000003\n",
      "2.950000000000003\n",
      "\n",
      "3.4400000000000033.560000000000003\n",
      "3.070000000000003\n",
      "\n",
      "3.1000000000000028\n",
      "3.68000000000000333.3300000000000027\n",
      "\n",
      "3.21000000000000263.570000000000003\n",
      "3.8000000000000034\n",
      "\n",
      "3.450000000000003\n",
      "3.9200000000000035\n",
      "3.110000000000003\n",
      "3.340000000000003\n",
      "3.690000000000003\n",
      "3.2200000000000033.810000000000003\n",
      "\n",
      "3.9300000000000033\n",
      "3.460000000000003\n",
      "3.5800000000000033.1200000000000028\n",
      "\n",
      "3.350000000000003\n",
      "3.7000000000000033\n",
      "3.94000000000000353.230000000000003\n",
      "3.8200000000000034\n",
      "\n",
      "3.59000000000000343.47000000000000333.1300000000000026\n",
      "\n",
      "\n",
      "3.360000000000003\n",
      "3.7100000000000035\n",
      "3.8300000000000036\n",
      "3.240000000000003\n",
      "3.95000000000000373.600000000000003\n",
      "\n",
      "3.480000000000003\n",
      "3.140000000000003\n",
      "3.7200000000000033\n",
      "3.25000000000000273.8400000000000034\n",
      "\n",
      "3.3700000000000028\n",
      "3.96000000000000353.490000000000003\n",
      "\n",
      "3.610000000000003\n",
      "3.260000000000003\n",
      "3.730000000000003\n",
      "3.150000000000003\n",
      "3.850000000000003\n",
      "3.380000000000003\n",
      "3.97000000000000333.620000000000003\n",
      "\n",
      "3.270000000000003\n",
      "3.5000000000000033.160000000000003\n",
      "\n",
      "3.74000000000000333.8600000000000034\n",
      "\n",
      "3.3900000000000032\n",
      "3.6300000000000034\n",
      "3.9800000000000035\n",
      "3.280000000000003\n",
      "3.51000000000000333.1700000000000026\n",
      "\n",
      "3.75000000000000363.400000000000003\n",
      "\n",
      "3.8700000000000037\n",
      "3.64000000000000323.9900000000000038\n",
      "\n",
      "3.180000000000003\n",
      "3.2900000000000027\n",
      "3.520000000000003\n",
      "3.76000000000000333.650000000000003\n",
      "\n",
      "3.8800000000000034\n",
      "3.410000000000003\n",
      "3.190000000000003\n",
      "3.300000000000003\n",
      "3.530000000000003\n",
      "3.770000000000003\n",
      "3.66000000000000333.8900000000000032\n",
      "3.420000000000003\n",
      "\n",
      "3.310000000000003\n",
      "3.540000000000003\n",
      "3.7800000000000034\n",
      "3.4300000000000033\n",
      "3.6700000000000035\n",
      "3.5500000000000034\n",
      "3.9000000000000035\n",
      "3.7900000000000036\n",
      "3.9100000000000037\n"
     ]
    }
   ],
   "source": [
    "from Py6S import *\n",
    "\n",
    "s = SixS()\n",
    "\n",
    "# Default settings...\n",
    "\n",
    "################################## RUN THE MODEL ################################################\n",
    "s.aot550 = 0.0\n",
    "wavelengths , aot0_0 = SixSHelpers.Wavelengths.run_whole_range(s, output_name=\"pixel_radiance\");\n",
    "s.aot550 = 0.5\n",
    "wavelengths , aot0_5 = SixSHelpers.Wavelengths.run_whole_range(s, output_name=\"pixel_radiance\");\n",
    "s.aot550 = 1.0\n",
    "wavelengths , aot1_0 = SixSHelpers.Wavelengths.run_whole_range(s, output_name=\"pixel_radiance\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"b9fc1b78-d8f7-49ec-aa43-d93120499dda\" data-root-id=\"2793\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"1afeeed9-09d3-420d-b3c7-0edaad180733\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2804\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"2808\",\"type\":\"Grid\"},{\"id\":\"2813\",\"type\":\"Grid\"},{\"id\":\"2838\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"2809\",\"type\":\"LinearAxis\"}],\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"2830\",\"type\":\"GlyphRenderer\"},{\"id\":\"2843\",\"type\":\"GlyphRenderer\"},{\"id\":\"2857\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"2794\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2820\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"2796\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"2800\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"2798\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"2802\",\"type\":\"LinearScale\"}},\"id\":\"2793\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null},\"id\":\"2798\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2856\",\"type\":\"Line\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"2810\",\"type\":\"BasicTicker\"}},\"id\":\"2813\",\"type\":\"Grid\"},{\"attributes\":{\"line_color\":\"green\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2841\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null},\"id\":\"2796\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2828\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"mpmZmZmZyT/iehSuR+HKPypcj8L1KMw/cj0K16NwzT+6HoXrUbjOPwEAAAAAANA/pXA9Ctej0D9J4XoUrkfRP+1RuB6F69E/kcL1KFyP0j81MzMzMzPTP9mjcD0K19M/fRSuR+F61D8hhetRuB7VP8X1KFyPwtU/aWZmZmZm1j8N16NwPQrXP7FH4XoUrtc/VbgehetR2D/5KFyPwvXYP52ZmZmZmdk/QQrXo3A92j/lehSuR+HaP4nrUbgehds/LVyPwvUo3D/RzMzMzMzcP3U9CtejcN0/Ga5H4XoU3j+9HoXrUbjeP2GPwvUoXN8/AgAAAAAA4D9UuB6F61HgP6ZwPQrXo+A/+Chcj8L14D9K4XoUrkfhP5yZmZmZmeE/7lG4HoXr4T9ACtejcD3iP5LC9Shcj+I/5HoUrkfh4j82MzMzMzPjP4jrUbgeheM/2qNwPQrX4z8sXI/C9SjkP34UrkfheuQ/0MzMzMzM5D8ihetRuB7lP3Q9CtejcOU/xvUoXI/C5T8YrkfhehTmP2pmZmZmZuY/vB6F61G45j8O16NwPQrnP2CPwvUoXOc/skfhehSu5z8EAAAAAADoP1a4HoXrUeg/qHA9Ctej6D/6KFyPwvXoP0zhehSuR+k/npmZmZmZ6T/wUbgehevpP0IK16NwPeo/lML1KFyP6j/mehSuR+HqPzgzMzMzM+s/iutRuB6F6z/co3A9CtfrPy5cj8L1KOw/gBSuR+F67D/SzMzMzMzsPySF61G4Hu0/dj0K16Nw7T/I9Shcj8LtPxquR+F6FO4/bGZmZmZm7j++HoXrUbjuPxDXo3A9Cu8/Yo/C9Shc7z+0R+F6FK7vPwMAAAAAAPA/LFyPwvUo8D9VuB6F61HwP34UrkfhevA/p3A9Ctej8D/QzMzMzMzwP/koXI/C9fA/IoXrUbge8T9L4XoUrkfxP3Q9CtejcPE/nZmZmZmZ8T/G9Shcj8LxP+9RuB6F6/E/GK5H4XoU8j9BCtejcD3yP2pmZmZmZvI/k8L1KFyP8j+8HoXrUbjyP+V6FK5H4fI/DtejcD0K8z83MzMzMzPzP2CPwvUoXPM/ietRuB6F8z+yR+F6FK7zP9ujcD0K1/M/BAAAAAAA9D8tXI/C9Sj0P1a4HoXrUfQ/fxSuR+F69D+ocD0K16P0P9HMzMzMzPQ/+ihcj8L19D8jhetRuB71P0zhehSuR/U/dT0K16Nw9T+emZmZmZn1P8f1KFyPwvU/8FG4HoXr9T8ZrkfhehT2P0IK16NwPfY/a2ZmZmZm9j+UwvUoXI/2P70ehetRuPY/5noUrkfh9j8P16NwPQr3PzgzMzMzM/c/YY/C9Shc9z+K61G4HoX3P7NH4XoUrvc/3KNwPQrX9z8FAAAAAAD4Py5cj8L1KPg/V7gehetR+D+AFK5H4Xr4P6lwPQrXo/g/0szMzMzM+D/7KFyPwvX4PySF61G4Hvk/TeF6FK5H+T92PQrXo3D5P5+ZmZmZmfk/yPUoXI/C+T/xUbgehev5PxquR+F6FPo/QwrXo3A9+j9sZmZmZmb6P5XC9Shcj/o/vh6F61G4+j/nehSuR+H6PxDXo3A9Cvs/OTMzMzMz+z9ij8L1KFz7P4vrUbgehfs/tEfhehSu+z/do3A9Ctf7PwYAAAAAAPw/L1yPwvUo/D9YuB6F61H8P4EUrkfhevw/qnA9Ctej/D/TzMzMzMz8P/woXI/C9fw/JYXrUbge/T9O4XoUrkf9P3c9CtejcP0/oJmZmZmZ/T/J9Shcj8L9P/JRuB6F6/0/G65H4XoU/j9ECtejcD3+P21mZmZmZv4/lsL1KFyP/j+/HoXrUbj+P+h6FK5H4f4/EdejcD0K/z86MzMzMzP/P2OPwvUoXP8/jOtRuB6F/z+1R+F6FK7/P96jcD0K1/8/BAAAAAAAAEAYrkfhehQAQC1cj8L1KABAQQrXo3A9AEBWuB6F61EAQGpmZmZmZgBAfxSuR+F6AECTwvUoXI8AQKhwPQrXowBAvB6F61G4AEDRzMzMzMwAQOV6FK5H4QBA+ihcj8L1AEAO16NwPQoBQCOF61G4HgFANzMzMzMzAUBM4XoUrkcBQGCPwvUoXAFAdT0K16NwAUCJ61G4HoUBQJ6ZmZmZmQFAskfhehSuAUDH9Shcj8IBQNyjcD0K1wFA8FG4HoXrAUAEAAAAAAACQBmuR+F6FAJALlyPwvUoAkBCCtejcD0CQFa4HoXrUQJAa2ZmZmZmAkCAFK5H4XoCQJTC9ShcjwJAqHA9CtejAkC9HoXrUbgCQNLMzMzMzAJA5noUrkfhAkD6KFyPwvUCQA/Xo3A9CgNAJIXrUbgeA0A4MzMzMzMDQEzhehSuRwNAYY/C9ShcA0B2PQrXo3ADQIrrUbgehQNAnpmZmZmZA0CzR+F6FK4DQMj1KFyPwgNA3KNwPQrXA0DwUbgehesDQAUAAAAAAARAGq5H4XoUBEAuXI/C9SgEQEIK16NwPQRAV7gehetRBEBsZmZmZmYEQIAUrkfhegRAlML1KFyPBECpcD0K16MEQL4ehetRuARA0szMzMzMBEDmehSuR+EEQPsoXI/C9QRAENejcD0KBUAkhetRuB4FQDgzMzMzMwVATeF6FK5HBUBij8L1KFwFQHY9CtejcAVAiutRuB6FBUCfmZmZmZkFQLRH4XoUrgVAyPUoXI/CBUDco3A9CtcFQPFRuB6F6wVABgAAAAAABkAarkfhehQGQC5cj8L1KAZAQwrXo3A9BkBYuB6F61EGQGxmZmZmZgZAgBSuR+F6BkCVwvUoXI8GQKpwPQrXowZAvh6F61G4BkDSzMzMzMwGQOd6FK5H4QZA/Chcj8L1BkAQ16NwPQoHQCSF61G4HgdAOTMzMzMzB0BO4XoUrkcHQGKPwvUoXAdAdj0K16NwB0CL61G4HoUHQKCZmZmZmQdAtEfhehSuB0DI9Shcj8IHQN2jcD0K1wdA8lG4HoXrB0AGAAAAAAAIQBquR+F6FAhAL1yPwvUoCEBECtejcD0IQFi4HoXrUQhAbGZmZmZmCECBFK5H4XoIQJbC9ShcjwhAqnA9CtejCEC+HoXrUbgIQNPMzMzMzAhA6HoUrkfhCED8KFyPwvUIQBDXo3A9CglAJYXrUbgeCUA6MzMzMzMJQE7hehSuRwlAYo/C9ShcCUB3PQrXo3AJQIzrUbgehQlAoJmZmZmZCUC0R+F6FK4JQMn1KFyPwglA3qNwPQrXCUDyUbgehesJQAYAAAAAAApAG65H4XoUCkAwXI/C9SgKQEQK16NwPQpAWLgehetRCkBtZmZmZmYKQIIUrkfhegpAlsL1KFyPCkCqcD0K16MKQL8ehetRuApA1MzMzMzMCkDoehSuR+EKQPwoXI/C9QpAEdejcD0KC0AmhetRuB4LQDozMzMzMwtATuF6FK5HC0Bjj8L1KFwLQHg9CtejcAtAjOtRuB6FC0CgmZmZmZkLQLVH4XoUrgtAyvUoXI/CC0Deo3A9CtcLQPJRuB6F6wtABwAAAAAADEAcrkfhehQMQDBcj8L1KAxARArXo3A9DEBZuB6F61EMQG5mZmZmZgxAghSuR+F6DECWwvUoXI8MQKtwPQrXowxAwB6F61G4DEDUzMzMzMwMQOh6FK5H4QxA/Shcj8L1DEAS16NwPQoNQCaF61G4Hg1AOjMzMzMzDUBP4XoUrkcNQGSPwvUoXA1AeD0K16NwDUCM61G4HoUNQKGZmZmZmQ1AtkfhehSuDUDK9Shcj8INQN6jcD0K1w1A81G4HoXrDUAIAAAAAAAOQByuR+F6FA5AMFyPwvUoDkBFCtejcD0OQFq4HoXrUQ5AbmZmZmZmDkCCFK5H4XoOQJfC9Shcjw5ArHA9CtejDkDAHoXrUbgOQNTMzMzMzA5A6XoUrkfhDkD+KFyPwvUOQBLXo3A9Cg9AJoXrUbgeD0A7MzMzMzMPQFDhehSuRw9AZI/C9ShcD0B4PQrXo3APQI3rUbgehQ9AopmZmZmZD0C2R+F6FK4PQMr1KFyPwg9A36NwPQrXD0D0UbgehesPQA==\",\"dtype\":\"float64\",\"shape\":[380]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[380]}},\"selected\":{\"id\":\"2866\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2867\",\"type\":\"UnionRenderers\"}},\"id\":\"2840\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2850\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2982\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"2840\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2841\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2842\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2844\",\"type\":\"CDSView\"}},\"id\":\"2843\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"2827\",\"type\":\"ColumnDataSource\"}},\"id\":\"2831\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2851\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"mpmZmZmZyT/iehSuR+HKPypcj8L1KMw/cj0K16NwzT+6HoXrUbjOPwEAAAAAANA/pXA9Ctej0D9J4XoUrkfRP+1RuB6F69E/kcL1KFyP0j81MzMzMzPTP9mjcD0K19M/fRSuR+F61D8hhetRuB7VP8X1KFyPwtU/aWZmZmZm1j8N16NwPQrXP7FH4XoUrtc/VbgehetR2D/5KFyPwvXYP52ZmZmZmdk/QQrXo3A92j/lehSuR+HaP4nrUbgehds/LVyPwvUo3D/RzMzMzMzcP3U9CtejcN0/Ga5H4XoU3j+9HoXrUbjeP2GPwvUoXN8/AgAAAAAA4D9UuB6F61HgP6ZwPQrXo+A/+Chcj8L14D9K4XoUrkfhP5yZmZmZmeE/7lG4HoXr4T9ACtejcD3iP5LC9Shcj+I/5HoUrkfh4j82MzMzMzPjP4jrUbgeheM/2qNwPQrX4z8sXI/C9SjkP34UrkfheuQ/0MzMzMzM5D8ihetRuB7lP3Q9CtejcOU/xvUoXI/C5T8YrkfhehTmP2pmZmZmZuY/vB6F61G45j8O16NwPQrnP2CPwvUoXOc/skfhehSu5z8EAAAAAADoP1a4HoXrUeg/qHA9Ctej6D/6KFyPwvXoP0zhehSuR+k/npmZmZmZ6T/wUbgehevpP0IK16NwPeo/lML1KFyP6j/mehSuR+HqPzgzMzMzM+s/iutRuB6F6z/co3A9CtfrPy5cj8L1KOw/gBSuR+F67D/SzMzMzMzsPySF61G4Hu0/dj0K16Nw7T/I9Shcj8LtPxquR+F6FO4/bGZmZmZm7j++HoXrUbjuPxDXo3A9Cu8/Yo/C9Shc7z+0R+F6FK7vPwMAAAAAAPA/LFyPwvUo8D9VuB6F61HwP34UrkfhevA/p3A9Ctej8D/QzMzMzMzwP/koXI/C9fA/IoXrUbge8T9L4XoUrkfxP3Q9CtejcPE/nZmZmZmZ8T/G9Shcj8LxP+9RuB6F6/E/GK5H4XoU8j9BCtejcD3yP2pmZmZmZvI/k8L1KFyP8j+8HoXrUbjyP+V6FK5H4fI/DtejcD0K8z83MzMzMzPzP2CPwvUoXPM/ietRuB6F8z+yR+F6FK7zP9ujcD0K1/M/BAAAAAAA9D8tXI/C9Sj0P1a4HoXrUfQ/fxSuR+F69D+ocD0K16P0P9HMzMzMzPQ/+ihcj8L19D8jhetRuB71P0zhehSuR/U/dT0K16Nw9T+emZmZmZn1P8f1KFyPwvU/8FG4HoXr9T8ZrkfhehT2P0IK16NwPfY/a2ZmZmZm9j+UwvUoXI/2P70ehetRuPY/5noUrkfh9j8P16NwPQr3PzgzMzMzM/c/YY/C9Shc9z+K61G4HoX3P7NH4XoUrvc/3KNwPQrX9z8FAAAAAAD4Py5cj8L1KPg/V7gehetR+D+AFK5H4Xr4P6lwPQrXo/g/0szMzMzM+D/7KFyPwvX4PySF61G4Hvk/TeF6FK5H+T92PQrXo3D5P5+ZmZmZmfk/yPUoXI/C+T/xUbgehev5PxquR+F6FPo/QwrXo3A9+j9sZmZmZmb6P5XC9Shcj/o/vh6F61G4+j/nehSuR+H6PxDXo3A9Cvs/OTMzMzMz+z9ij8L1KFz7P4vrUbgehfs/tEfhehSu+z/do3A9Ctf7PwYAAAAAAPw/L1yPwvUo/D9YuB6F61H8P4EUrkfhevw/qnA9Ctej/D/TzMzMzMz8P/woXI/C9fw/JYXrUbge/T9O4XoUrkf9P3c9CtejcP0/oJmZmZmZ/T/J9Shcj8L9P/JRuB6F6/0/G65H4XoU/j9ECtejcD3+P21mZmZmZv4/lsL1KFyP/j+/HoXrUbj+P+h6FK5H4f4/EdejcD0K/z86MzMzMzP/P2OPwvUoXP8/jOtRuB6F/z+1R+F6FK7/P96jcD0K1/8/BAAAAAAAAEAYrkfhehQAQC1cj8L1KABAQQrXo3A9AEBWuB6F61EAQGpmZmZmZgBAfxSuR+F6AECTwvUoXI8AQKhwPQrXowBAvB6F61G4AEDRzMzMzMwAQOV6FK5H4QBA+ihcj8L1AEAO16NwPQoBQCOF61G4HgFANzMzMzMzAUBM4XoUrkcBQGCPwvUoXAFAdT0K16NwAUCJ61G4HoUBQJ6ZmZmZmQFAskfhehSuAUDH9Shcj8IBQNyjcD0K1wFA8FG4HoXrAUAEAAAAAAACQBmuR+F6FAJALlyPwvUoAkBCCtejcD0CQFa4HoXrUQJAa2ZmZmZmAkCAFK5H4XoCQJTC9ShcjwJAqHA9CtejAkC9HoXrUbgCQNLMzMzMzAJA5noUrkfhAkD6KFyPwvUCQA/Xo3A9CgNAJIXrUbgeA0A4MzMzMzMDQEzhehSuRwNAYY/C9ShcA0B2PQrXo3ADQIrrUbgehQNAnpmZmZmZA0CzR+F6FK4DQMj1KFyPwgNA3KNwPQrXA0DwUbgehesDQAUAAAAAAARAGq5H4XoUBEAuXI/C9SgEQEIK16NwPQRAV7gehetRBEBsZmZmZmYEQIAUrkfhegRAlML1KFyPBECpcD0K16MEQL4ehetRuARA0szMzMzMBEDmehSuR+EEQPsoXI/C9QRAENejcD0KBUAkhetRuB4FQDgzMzMzMwVATeF6FK5HBUBij8L1KFwFQHY9CtejcAVAiutRuB6FBUCfmZmZmZkFQLRH4XoUrgVAyPUoXI/CBUDco3A9CtcFQPFRuB6F6wVABgAAAAAABkAarkfhehQGQC5cj8L1KAZAQwrXo3A9BkBYuB6F61EGQGxmZmZmZgZAgBSuR+F6BkCVwvUoXI8GQKpwPQrXowZAvh6F61G4BkDSzMzMzMwGQOd6FK5H4QZA/Chcj8L1BkAQ16NwPQoHQCSF61G4HgdAOTMzMzMzB0BO4XoUrkcHQGKPwvUoXAdAdj0K16NwB0CL61G4HoUHQKCZmZmZmQdAtEfhehSuB0DI9Shcj8IHQN2jcD0K1wdA8lG4HoXrB0AGAAAAAAAIQBquR+F6FAhAL1yPwvUoCEBECtejcD0IQFi4HoXrUQhAbGZmZmZmCECBFK5H4XoIQJbC9ShcjwhAqnA9CtejCEC+HoXrUbgIQNPMzMzMzAhA6HoUrkfhCED8KFyPwvUIQBDXo3A9CglAJYXrUbgeCUA6MzMzMzMJQE7hehSuRwlAYo/C9ShcCUB3PQrXo3AJQIzrUbgehQlAoJmZmZmZCUC0R+F6FK4JQMn1KFyPwglA3qNwPQrXCUDyUbgehesJQAYAAAAAAApAG65H4XoUCkAwXI/C9SgKQEQK16NwPQpAWLgehetRCkBtZmZmZmYKQIIUrkfhegpAlsL1KFyPCkCqcD0K16MKQL8ehetRuApA1MzMzMzMCkDoehSuR+EKQPwoXI/C9QpAEdejcD0KC0AmhetRuB4LQDozMzMzMwtATuF6FK5HC0Bjj8L1KFwLQHg9CtejcAtAjOtRuB6FC0CgmZmZmZkLQLVH4XoUrgtAyvUoXI/CC0Deo3A9CtcLQPJRuB6F6wtABwAAAAAADEAcrkfhehQMQDBcj8L1KAxARArXo3A9DEBZuB6F61EMQG5mZmZmZgxAghSuR+F6DECWwvUoXI8MQKtwPQrXowxAwB6F61G4DEDUzMzMzMwMQOh6FK5H4QxA/Shcj8L1DEAS16NwPQoNQCaF61G4Hg1AOjMzMzMzDUBP4XoUrkcNQGSPwvUoXA1AeD0K16NwDUCM61G4HoUNQKGZmZmZmQ1AtkfhehSuDUDK9Shcj8INQN6jcD0K1w1A81G4HoXrDUAIAAAAAAAOQByuR+F6FA5AMFyPwvUoDkBFCtejcD0OQFq4HoXrUQ5AbmZmZmZmDkCCFK5H4XoOQJfC9Shcjw5ArHA9CtejDkDAHoXrUbgOQNTMzMzMzA5A6XoUrkfhDkD+KFyPwvUOQBLXo3A9Cg9AJoXrUbgeD0A7MzMzMzMPQFDhehSuRw9AZI/C9ShcD0B4PQrXo3APQI3rUbgehQ9AopmZmZmZD0C2R+F6FK4PQMr1KFyPwg9A36NwPQrXD0D0UbgehesPQA==\",\"dtype\":\"float64\",\"shape\":[380]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[380]}},\"selected\":{\"id\":\"2981\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2982\",\"type\":\"UnionRenderers\"}},\"id\":\"2854\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2981\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2800\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2829\",\"type\":\"Line\"},{\"attributes\":{\"overlay\":{\"id\":\"2837\",\"type\":\"BoxAnnotation\"}},\"id\":\"2816\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2867\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2815\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2814\",\"type\":\"PanTool\"},{\"id\":\"2815\",\"type\":\"WheelZoomTool\"},{\"id\":\"2816\",\"type\":\"BoxZoomTool\"},{\"id\":\"2817\",\"type\":\"SaveTool\"},{\"id\":\"2818\",\"type\":\"ResetTool\"},{\"id\":\"2819\",\"type\":\"HelpTool\"}]},\"id\":\"2820\",\"type\":\"Toolbar\"},{\"attributes\":{\"line_color\":\"purple\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2855\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"2840\",\"type\":\"ColumnDataSource\"}},\"id\":\"2844\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2802\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"2827\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2828\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2829\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2831\",\"type\":\"CDSView\"}},\"id\":\"2830\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2805\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"2854\",\"type\":\"ColumnDataSource\"}},\"id\":\"2858\",\"type\":\"CDSView\"},{\"attributes\":{\"label\":{\"value\":\"aot550 = 0.5\"},\"renderers\":[{\"id\":\"2843\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2853\",\"type\":\"LegendItem\"},{\"attributes\":{\"axis_label\":\"Wavelength (um)\",\"formatter\":{\"id\":\"2836\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"2805\",\"type\":\"BasicTicker\"}},\"id\":\"2804\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"aot550 = 1.0\"},\"renderers\":[{\"id\":\"2857\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2869\",\"type\":\"LegendItem\"},{\"attributes\":{\"ticker\":{\"id\":\"2805\",\"type\":\"BasicTicker\"}},\"id\":\"2808\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2817\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2866\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2834\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"value\":\"aot550 = 0.0\"},\"renderers\":[{\"id\":\"2830\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2839\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2818\",\"type\":\"ResetTool\"},{\"attributes\":{\"items\":[{\"id\":\"2839\",\"type\":\"LegendItem\"},{\"id\":\"2853\",\"type\":\"LegendItem\"},{\"id\":\"2869\",\"type\":\"LegendItem\"}]},\"id\":\"2838\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"2814\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[380]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[380]}},\"selected\":{\"id\":\"2850\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2851\",\"type\":\"UnionRenderers\"}},\"id\":\"2827\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"2837\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"2810\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data_source\":{\"id\":\"2854\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2855\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2856\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2858\",\"type\":\"CDSView\"}},\"id\":\"2857\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"6S Radiances for Tropical Atmosphere\"},\"id\":\"2794\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2819\",\"type\":\"HelpTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2842\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Radiance [W m-2 um-1]\",\"formatter\":{\"id\":\"2834\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"2810\",\"type\":\"BasicTicker\"}},\"id\":\"2809\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2836\",\"type\":\"BasicTickFormatter\"}],\"root_ids\":[\"2793\"]},\"title\":\"Bokeh Application\",\"version\":\"1.3.4\"}};\n",
       "  var render_items = [{\"docid\":\"1afeeed9-09d3-420d-b3c7-0edaad180733\",\"roots\":{\"2793\":\"b9fc1b78-d8f7-49ec-aa43-d93120499dda\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "2793"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "p1 = figure(plot_width=900,\n",
    "            plot_height=500,\n",
    "            x_axis_label='Wavelength (um)',\n",
    "            y_axis_label='Radiance [W m-2 um-1]',\n",
    "            title='6S Radiances for Tropical Atmosphere')\n",
    "p1.line(wavelengths, aot0_0, legend='aot550 = 0.0', color='blue') \n",
    "p1.line(wavelengths, aot0_5, legend='aot550 = 0.5', color='green') \n",
    "p1.line(wavelengths, aot1_0, legend='aot550 = 1.0', color='purple')\n",
    "\n",
    "show(p1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Use LANDSAT OLI bands for atmospheric correction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelengths pass:\n",
      "[(1, 0.427, 0.457, array([7.300000e-05, 2.524500e-03, 2.476700e-02, 3.859850e-01,\n",
      "       9.087490e-01, 9.805915e-01, 9.867130e-01, 9.965685e-01,\n",
      "       9.827800e-01, 8.257070e-01, 2.264120e-01, 2.557000e-02,\n",
      "       2.414000e-03])), (2, 0.436, 0.526, array([1.000000e-05, 1.790000e-04, 4.550000e-04, 1.633500e-03,\n",
      "       6.869000e-03, 4.288800e-02, 2.713700e-01, 7.907405e-01,\n",
      "       9.030340e-01, 9.046775e-01, 8.896670e-01, 8.792320e-01,\n",
      "       8.796880e-01, 8.897965e-01, 8.485330e-01, 8.362705e-01,\n",
      "       8.684970e-01, 9.114615e-01, 9.317260e-01, 9.548965e-01,\n",
      "       9.564240e-01, 9.838340e-01, 9.894690e-01, 9.680665e-01,\n",
      "       9.887290e-01, 9.610575e-01, 9.661250e-01, 9.820770e-01,\n",
      "       9.631350e-01, 9.982490e-01, 8.448930e-01, 1.195335e-01,\n",
      "       5.328000e-03, 1.328500e-03, 5.160000e-04, 1.170000e-04,\n",
      "       2.300000e-05])), (3, 0.512, 0.61, array([-4.600000e-05,  1.785000e-04,  6.480000e-04,  1.574000e-03,\n",
      "        3.446000e-03,  8.732500e-03,  2.551300e-02,  9.699750e-02,\n",
      "        3.538850e-01,  8.032150e-01,  9.546270e-01,  9.602715e-01,\n",
      "        9.698730e-01,  9.698335e-01,  9.770010e-01,  9.953920e-01,\n",
      "        9.826420e-01,  9.714230e-01,  9.462450e-01,  9.627860e-01,\n",
      "        9.664470e-01,  9.641765e-01,  9.833970e-01,  9.708755e-01,\n",
      "        9.782080e-01,  9.771825e-01,  9.691810e-01,  9.812770e-01,\n",
      "        9.688860e-01,  9.804320e-01,  9.044780e-01,  6.051390e-01,\n",
      "        1.904670e-01,  2.473500e-02,  2.574000e-03,  2.395000e-04,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00,  0.000000e+00])), (4, 0.625, 0.69, array([-3.420000e-04,  1.372500e-03,  7.197000e-03,  4.864650e-02,\n",
      "        2.997780e-01,  8.349580e-01,  9.508230e-01,  9.572680e-01,\n",
      "        9.841730e-01,  9.831725e-01,  9.594410e-01,  9.544425e-01,\n",
      "        9.816880e-01,  9.885015e-01,  9.769600e-01,  9.889420e-01,\n",
      "        9.806780e-01,  9.664660e-01,  9.669280e-01,  7.291070e-01,\n",
      "        1.239460e-01,  1.251750e-02,  1.402000e-03,  0.000000e+00,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00])), (5, 0.829, 0.899, array([0.000000e+00, 7.500000e-05, 3.140000e-04, 8.525000e-04,\n",
      "       2.107000e-03, 5.901500e-03, 1.734600e-02, 6.627700e-02,\n",
      "       2.497330e-01, 6.638300e-01, 9.602150e-01, 9.768695e-01,\n",
      "       1.000000e+00, 9.783340e-01, 9.573570e-01, 9.501030e-01,\n",
      "       9.484500e-01, 9.533555e-01, 9.698210e-01, 8.398995e-01,\n",
      "       4.483640e-01, 1.374810e-01, 3.453200e-02, 1.002050e-02,\n",
      "       2.944000e-03, 9.675000e-04, 2.410000e-04, 1.550000e-05,\n",
      "       0.000000e+00])), (6, 1.515, 1.695, array([0.000000e+00, 2.000000e-04, 4.660000e-04, 8.450000e-04,\n",
      "       1.369000e-03, 2.015500e-03, 2.881000e-03, 4.021500e-03,\n",
      "       5.528000e-03, 7.889000e-03, 1.098900e-02, 1.527550e-02,\n",
      "       2.183100e-02, 3.256150e-02, 4.786400e-02, 7.094900e-02,\n",
      "       1.018930e-01, 1.508845e-01, 2.202610e-01, 3.106490e-01,\n",
      "       4.214700e-01, 5.522340e-01, 6.766830e-01, 7.715090e-01,\n",
      "       8.540650e-01, 8.958235e-01, 9.130090e-01, 9.250580e-01,\n",
      "       9.264130e-01, 9.238180e-01, 9.228280e-01, 9.224085e-01,\n",
      "       9.266050e-01, 9.434380e-01, 9.461750e-01, 9.472975e-01,\n",
      "       9.528590e-01, 9.513585e-01, 9.590470e-01, 9.591915e-01,\n",
      "       9.614700e-01, 9.604940e-01, 9.647030e-01, 9.699515e-01,\n",
      "       9.769060e-01, 9.812715e-01, 9.886090e-01, 9.990105e-01,\n",
      "       9.996420e-01, 9.898280e-01, 9.671250e-01, 9.267190e-01,\n",
      "       8.409670e-01, 7.231030e-01, 5.732320e-01, 4.229980e-01,\n",
      "       2.917520e-01, 1.959880e-01, 1.284630e-01, 8.283800e-02,\n",
      "       5.275200e-02, 3.456550e-02, 2.250400e-02, 1.471950e-02,\n",
      "       9.587000e-03, 6.396000e-03, 4.257000e-03, 2.798000e-03,\n",
      "       1.781000e-03, 1.142000e-03, 6.770000e-04, 3.550000e-04,\n",
      "       1.120000e-04])), (7, 2.037, 2.354, array([0.000000e+00, 1.070000e-04, 2.400000e-04, 3.990000e-04,\n",
      "       5.990000e-04, 8.805000e-04, 1.222000e-03, 1.645500e-03,\n",
      "       2.187000e-03, 2.853000e-03, 3.733000e-03, 4.882000e-03,\n",
      "       6.337000e-03, 8.449500e-03, 1.100500e-02, 1.429850e-02,\n",
      "       1.889900e-02, 2.450900e-02, 3.207100e-02, 4.281900e-02,\n",
      "       5.642900e-02, 7.489550e-02, 1.006400e-01, 1.364800e-01,\n",
      "       1.797140e-01, 2.404830e-01, 3.113470e-01, 3.948325e-01,\n",
      "       4.888160e-01, 5.739710e-01, 6.630670e-01, 7.394065e-01,\n",
      "       7.926670e-01, 8.411725e-01, 8.678450e-01, 8.862690e-01,\n",
      "       9.065270e-01, 9.145380e-01, 9.296930e-01, 9.389750e-01,\n",
      "       9.429520e-01, 9.441810e-01, 9.487760e-01, 9.495215e-01,\n",
      "       9.566350e-01, 9.482585e-01, 9.508740e-01, 9.470495e-01,\n",
      "       9.577170e-01, 9.470950e-01, 9.516410e-01, 9.468000e-01,\n",
      "       9.403110e-01, 9.464665e-01, 9.387370e-01, 9.444390e-01,\n",
      "       9.444820e-01, 9.504720e-01, 9.399390e-01, 9.371565e-01,\n",
      "       9.389550e-01, 9.281235e-01, 9.305080e-01, 9.309460e-01,\n",
      "       9.364720e-01, 9.343275e-01, 9.462170e-01, 9.538260e-01,\n",
      "       9.631350e-01, 9.639440e-01, 9.629050e-01, 9.616070e-01,\n",
      "       9.578140e-01, 9.556575e-01, 9.517060e-01, 9.602755e-01,\n",
      "       9.476960e-01, 9.598070e-01, 9.557500e-01, 9.566075e-01,\n",
      "       9.667860e-01, 9.628230e-01, 9.776370e-01, 9.834575e-01,\n",
      "       9.850560e-01, 9.986270e-01, 9.924690e-01, 9.979470e-01,\n",
      "       9.972610e-01, 9.894370e-01, 9.860370e-01, 9.812800e-01,\n",
      "       9.727940e-01, 9.763695e-01, 9.744090e-01, 9.636985e-01,\n",
      "       9.550950e-01, 9.513915e-01, 9.224050e-01, 8.892640e-01,\n",
      "       8.238760e-01, 7.212725e-01, 6.025390e-01, 4.776955e-01,\n",
      "       3.555690e-01, 2.614525e-01, 1.861510e-01, 1.317250e-01,\n",
      "       9.202900e-02, 6.498950e-02, 4.633200e-02, 3.342350e-02,\n",
      "       2.400000e-02, 1.762500e-02, 1.293000e-02, 9.557000e-03,\n",
      "       7.088000e-03, 5.331000e-03, 3.903000e-03, 2.838000e-03,\n",
      "       2.047000e-03, 1.449500e-03, 9.740000e-04, 6.200000e-04,\n",
      "       3.200000e-04, 7.350000e-05, 0.000000e+00, 0.000000e+00])), (8, 0.488, 0.691, array([2.160000e-04, 1.300000e-03, 3.841000e-03, 1.225900e-02,\n",
      "       4.272300e-02, 1.601375e-01, 4.724960e-01, 7.454125e-01,\n",
      "       8.318810e-01, 8.553215e-01, 8.596400e-01, 8.576960e-01,\n",
      "       8.584550e-01, 8.583010e-01, 8.501830e-01, 8.582235e-01,\n",
      "       8.615080e-01, 8.576835e-01, 8.792490e-01, 8.917105e-01,\n",
      "       9.062940e-01, 9.128670e-01, 9.029390e-01, 9.207395e-01,\n",
      "       9.130200e-01, 8.856505e-01, 8.794430e-01, 8.741790e-01,\n",
      "       8.753610e-01, 8.916650e-01, 8.740970e-01, 8.868885e-01,\n",
      "       9.035280e-01, 9.109505e-01, 9.131900e-01, 9.201780e-01,\n",
      "       9.244310e-01, 9.298095e-01, 9.488630e-01, 9.405430e-01,\n",
      "       9.456740e-01, 9.393800e-01, 9.466590e-01, 9.340445e-01,\n",
      "       9.408380e-01, 9.580395e-01, 9.682410e-01, 9.664805e-01,\n",
      "       9.572320e-01, 9.476755e-01, 9.524650e-01, 9.574815e-01,\n",
      "       9.641580e-01, 9.673660e-01, 9.770260e-01, 9.760295e-01,\n",
      "       9.695830e-01, 9.728070e-01, 9.657800e-01, 9.667380e-01,\n",
      "       9.720670e-01, 9.793465e-01, 9.711230e-01, 9.533770e-01,\n",
      "       9.638510e-01, 9.671015e-01, 9.706130e-01, 9.799745e-01,\n",
      "       9.883020e-01, 9.917530e-01, 1.000000e+00, 9.984760e-01,\n",
      "       9.925550e-01, 9.858115e-01, 9.139450e-01, 5.243765e-01,\n",
      "       1.673130e-01, 4.617550e-02, 1.517800e-02, 6.709500e-03,\n",
      "       3.220000e-03, 1.212000e-03])), (9, 1.34, 1.407, array([0.000000e+00, 2.575000e-04, 6.470000e-04, 1.274000e-03,\n",
      "       2.318000e-03, 4.704500e-03, 1.112400e-02, 3.453850e-02,\n",
      "       1.153510e-01, 3.866815e-01, 7.721180e-01, 9.009415e-01,\n",
      "       9.312470e-01, 9.916870e-01, 1.000000e+00, 9.770805e-01,\n",
      "       8.713430e-01, 6.548880e-01, 2.979200e-01, 8.961450e-02,\n",
      "       2.608400e-02, 8.306500e-03, 2.780000e-03, 1.119000e-03,\n",
      "       2.200000e-04, 0.000000e+00, 0.000000e+00, 0.000000e+00]))]\n",
      "<class 'list'>\n",
      "Running for many wavelengths - this may take a long time\n",
      "(1, 0.427, 0.457, array([7.300000e-05, 2.524500e-03, 2.476700e-02, 3.859850e-01,\n",
      "       9.087490e-01, 9.805915e-01, 9.867130e-01, 9.965685e-01,\n",
      "       9.827800e-01, 8.257070e-01, 2.264120e-01, 2.557000e-02,\n",
      "       2.414000e-03]))(2, 0.436, 0.526, array([1.000000e-05, 1.790000e-04, 4.550000e-04, 1.633500e-03,\n",
      "       6.869000e-03, 4.288800e-02, 2.713700e-01, 7.907405e-01,\n",
      "       9.030340e-01, 9.046775e-01, 8.896670e-01, 8.792320e-01,\n",
      "       8.796880e-01, 8.897965e-01, 8.485330e-01, 8.362705e-01,\n",
      "       8.684970e-01, 9.114615e-01, 9.317260e-01, 9.548965e-01,\n",
      "       9.564240e-01, 9.838340e-01, 9.894690e-01, 9.680665e-01,\n",
      "       9.887290e-01, 9.610575e-01, 9.661250e-01, 9.820770e-01,\n",
      "       9.631350e-01, 9.982490e-01, 8.448930e-01, 1.195335e-01,\n",
      "       5.328000e-03, 1.328500e-03, 5.160000e-04, 1.170000e-04,\n",
      "       2.300000e-05]))\n",
      "\n",
      "(3, 0.512, 0.61, array([-4.600000e-05,  1.785000e-04,  6.480000e-04,  1.574000e-03,\n",
      "        3.446000e-03,  8.732500e-03,  2.551300e-02,  9.699750e-02,\n",
      "        3.538850e-01,  8.032150e-01,  9.546270e-01,  9.602715e-01,\n",
      "        9.698730e-01,  9.698335e-01,  9.770010e-01,  9.953920e-01,\n",
      "        9.826420e-01,  9.714230e-01,  9.462450e-01,  9.627860e-01,\n",
      "        9.664470e-01,  9.641765e-01,  9.833970e-01,  9.708755e-01,\n",
      "        9.782080e-01,  9.771825e-01,  9.691810e-01,  9.812770e-01,\n",
      "        9.688860e-01,  9.804320e-01,  9.044780e-01,  6.051390e-01,\n",
      "        1.904670e-01,  2.473500e-02,  2.574000e-03,  2.395000e-04,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00,  0.000000e+00]))(4, 0.625, 0.69, array([-3.420000e-04,  1.372500e-03,  7.197000e-03,  4.864650e-02,\n",
      "        2.997780e-01,  8.349580e-01,  9.508230e-01,  9.572680e-01,\n",
      "        9.841730e-01,  9.831725e-01,  9.594410e-01,  9.544425e-01,\n",
      "        9.816880e-01,  9.885015e-01,  9.769600e-01,  9.889420e-01,\n",
      "        9.806780e-01,  9.664660e-01,  9.669280e-01,  7.291070e-01,\n",
      "        1.239460e-01,  1.251750e-02,  1.402000e-03,  0.000000e+00,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00]))\n",
      "\n",
      "(5, 0.829, 0.899, array([0.000000e+00, 7.500000e-05, 3.140000e-04, 8.525000e-04,\n",
      "       2.107000e-03, 5.901500e-03, 1.734600e-02, 6.627700e-02,\n",
      "       2.497330e-01, 6.638300e-01, 9.602150e-01, 9.768695e-01,\n",
      "       1.000000e+00, 9.783340e-01, 9.573570e-01, 9.501030e-01,\n",
      "       9.484500e-01, 9.533555e-01, 9.698210e-01, 8.398995e-01,\n",
      "       4.483640e-01, 1.374810e-01, 3.453200e-02, 1.002050e-02,\n",
      "       2.944000e-03, 9.675000e-04, 2.410000e-04, 1.550000e-05,\n",
      "       0.000000e+00]))(6, 1.515, 1.695, array([0.000000e+00, 2.000000e-04, 4.660000e-04, 8.450000e-04,\n",
      "       1.369000e-03, 2.015500e-03, 2.881000e-03, 4.021500e-03,\n",
      "       5.528000e-03, 7.889000e-03, 1.098900e-02, 1.527550e-02,\n",
      "       2.183100e-02, 3.256150e-02, 4.786400e-02, 7.094900e-02,\n",
      "       1.018930e-01, 1.508845e-01, 2.202610e-01, 3.106490e-01,\n",
      "       4.214700e-01, 5.522340e-01, 6.766830e-01, 7.715090e-01,\n",
      "       8.540650e-01, 8.958235e-01, 9.130090e-01, 9.250580e-01,\n",
      "       9.264130e-01, 9.238180e-01, 9.228280e-01, 9.224085e-01,\n",
      "       9.266050e-01, 9.434380e-01, 9.461750e-01, 9.472975e-01,\n",
      "       9.528590e-01, 9.513585e-01, 9.590470e-01, 9.591915e-01,\n",
      "       9.614700e-01, 9.604940e-01, 9.647030e-01, 9.699515e-01,\n",
      "       9.769060e-01, 9.812715e-01, 9.886090e-01, 9.990105e-01,\n",
      "       9.996420e-01, 9.898280e-01, 9.671250e-01, 9.267190e-01,\n",
      "       8.409670e-01, 7.231030e-01, 5.732320e-01, 4.229980e-01,\n",
      "       2.917520e-01, 1.959880e-01, 1.284630e-01, 8.283800e-02,\n",
      "       5.275200e-02, 3.456550e-02, 2.250400e-02, 1.471950e-02,\n",
      "       9.587000e-03, 6.396000e-03, 4.257000e-03, 2.798000e-03,\n",
      "       1.781000e-03, 1.142000e-03, 6.770000e-04, 3.550000e-04,\n",
      "       1.120000e-04]))\n",
      "(7, 2.037, 2.354, array([0.000000e+00, 1.070000e-04, 2.400000e-04, 3.990000e-04,\n",
      "       5.990000e-04, 8.805000e-04, 1.222000e-03, 1.645500e-03,\n",
      "       2.187000e-03, 2.853000e-03, 3.733000e-03, 4.882000e-03,\n",
      "       6.337000e-03, 8.449500e-03, 1.100500e-02, 1.429850e-02,\n",
      "       1.889900e-02, 2.450900e-02, 3.207100e-02, 4.281900e-02,\n",
      "       5.642900e-02, 7.489550e-02, 1.006400e-01, 1.364800e-01,\n",
      "       1.797140e-01, 2.404830e-01, 3.113470e-01, 3.948325e-01,\n",
      "       4.888160e-01, 5.739710e-01, 6.630670e-01, 7.394065e-01,\n",
      "       7.926670e-01, 8.411725e-01, 8.678450e-01, 8.862690e-01,\n",
      "       9.065270e-01, 9.145380e-01, 9.296930e-01, 9.389750e-01,\n",
      "       9.429520e-01, 9.441810e-01, 9.487760e-01, 9.495215e-01,\n",
      "       9.566350e-01, 9.482585e-01, 9.508740e-01, 9.470495e-01,\n",
      "       9.577170e-01, 9.470950e-01, 9.516410e-01, 9.468000e-01,\n",
      "       9.403110e-01, 9.464665e-01, 9.387370e-01, 9.444390e-01,\n",
      "       9.444820e-01, 9.504720e-01, 9.399390e-01, 9.371565e-01,\n",
      "       9.389550e-01, 9.281235e-01, 9.305080e-01, 9.309460e-01,\n",
      "       9.364720e-01, 9.343275e-01, 9.462170e-01, 9.538260e-01,\n",
      "       9.631350e-01, 9.639440e-01, 9.629050e-01, 9.616070e-01,\n",
      "       9.578140e-01, 9.556575e-01, 9.517060e-01, 9.602755e-01,\n",
      "       9.476960e-01, 9.598070e-01, 9.557500e-01, 9.566075e-01,\n",
      "       9.667860e-01, 9.628230e-01, 9.776370e-01, 9.834575e-01,\n",
      "       9.850560e-01, 9.986270e-01, 9.924690e-01, 9.979470e-01,\n",
      "       9.972610e-01, 9.894370e-01, 9.860370e-01, 9.812800e-01,\n",
      "       9.727940e-01, 9.763695e-01, 9.744090e-01, 9.636985e-01,\n",
      "       9.550950e-01, 9.513915e-01, 9.224050e-01, 8.892640e-01,\n",
      "       8.238760e-01, 7.212725e-01, 6.025390e-01, 4.776955e-01,\n",
      "       3.555690e-01, 2.614525e-01, 1.861510e-01, 1.317250e-01,\n",
      "       9.202900e-02, 6.498950e-02, 4.633200e-02, 3.342350e-02,\n",
      "       2.400000e-02, 1.762500e-02, 1.293000e-02, 9.557000e-03,\n",
      "       7.088000e-03, 5.331000e-03, 3.903000e-03, 2.838000e-03,\n",
      "       2.047000e-03, 1.449500e-03, 9.740000e-04, 6.200000e-04,\n",
      "       3.200000e-04, 7.350000e-05, 0.000000e+00, 0.000000e+00]))\n",
      "\n",
      "(8, 0.488, 0.691, array([2.160000e-04, 1.300000e-03, 3.841000e-03, 1.225900e-02,\n",
      "       4.272300e-02, 1.601375e-01, 4.724960e-01, 7.454125e-01,\n",
      "       8.318810e-01, 8.553215e-01, 8.596400e-01, 8.576960e-01,\n",
      "       8.584550e-01, 8.583010e-01, 8.501830e-01, 8.582235e-01,\n",
      "       8.615080e-01, 8.576835e-01, 8.792490e-01, 8.917105e-01,\n",
      "       9.062940e-01, 9.128670e-01, 9.029390e-01, 9.207395e-01,\n",
      "       9.130200e-01, 8.856505e-01, 8.794430e-01, 8.741790e-01,\n",
      "       8.753610e-01, 8.916650e-01, 8.740970e-01, 8.868885e-01,\n",
      "       9.035280e-01, 9.109505e-01, 9.131900e-01, 9.201780e-01,\n",
      "       9.244310e-01, 9.298095e-01, 9.488630e-01, 9.405430e-01,\n",
      "       9.456740e-01, 9.393800e-01, 9.466590e-01, 9.340445e-01,\n",
      "       9.408380e-01, 9.580395e-01, 9.682410e-01, 9.664805e-01,\n",
      "       9.572320e-01, 9.476755e-01, 9.524650e-01, 9.574815e-01,\n",
      "       9.641580e-01, 9.673660e-01, 9.770260e-01, 9.760295e-01,\n",
      "       9.695830e-01, 9.728070e-01, 9.657800e-01, 9.667380e-01,\n",
      "       9.720670e-01, 9.793465e-01, 9.711230e-01, 9.533770e-01,\n",
      "       9.638510e-01, 9.671015e-01, 9.706130e-01, 9.799745e-01,\n",
      "       9.883020e-01, 9.917530e-01, 1.000000e+00, 9.984760e-01,\n",
      "       9.925550e-01, 9.858115e-01, 9.139450e-01, 5.243765e-01,\n",
      "       1.673130e-01, 4.617550e-02, 1.517800e-02, 6.709500e-03,\n",
      "       3.220000e-03, 1.212000e-03]))\n",
      "(9, 1.34, 1.407, array([0.000000e+00, 2.575000e-04, 6.470000e-04, 1.274000e-03,\n",
      "       2.318000e-03, 4.704500e-03, 1.112400e-02, 3.453850e-02,\n",
      "       1.153510e-01, 3.866815e-01, 7.721180e-01, 9.009415e-01,\n",
      "       9.312470e-01, 9.916870e-01, 1.000000e+00, 9.770805e-01,\n",
      "       8.713430e-01, 6.548880e-01, 2.979200e-01, 8.961450e-02,\n",
      "       2.608400e-02, 8.306500e-03, 2.780000e-03, 1.119000e-03,\n",
      "       2.200000e-04, 0.000000e+00, 0.000000e+00, 0.000000e+00]))\n",
      "wavelengths pass:\n",
      "[(1, 0.427, 0.457, array([7.300000e-05, 2.524500e-03, 2.476700e-02, 3.859850e-01,\n",
      "       9.087490e-01, 9.805915e-01, 9.867130e-01, 9.965685e-01,\n",
      "       9.827800e-01, 8.257070e-01, 2.264120e-01, 2.557000e-02,\n",
      "       2.414000e-03])), (2, 0.436, 0.526, array([1.000000e-05, 1.790000e-04, 4.550000e-04, 1.633500e-03,\n",
      "       6.869000e-03, 4.288800e-02, 2.713700e-01, 7.907405e-01,\n",
      "       9.030340e-01, 9.046775e-01, 8.896670e-01, 8.792320e-01,\n",
      "       8.796880e-01, 8.897965e-01, 8.485330e-01, 8.362705e-01,\n",
      "       8.684970e-01, 9.114615e-01, 9.317260e-01, 9.548965e-01,\n",
      "       9.564240e-01, 9.838340e-01, 9.894690e-01, 9.680665e-01,\n",
      "       9.887290e-01, 9.610575e-01, 9.661250e-01, 9.820770e-01,\n",
      "       9.631350e-01, 9.982490e-01, 8.448930e-01, 1.195335e-01,\n",
      "       5.328000e-03, 1.328500e-03, 5.160000e-04, 1.170000e-04,\n",
      "       2.300000e-05])), (3, 0.512, 0.61, array([-4.600000e-05,  1.785000e-04,  6.480000e-04,  1.574000e-03,\n",
      "        3.446000e-03,  8.732500e-03,  2.551300e-02,  9.699750e-02,\n",
      "        3.538850e-01,  8.032150e-01,  9.546270e-01,  9.602715e-01,\n",
      "        9.698730e-01,  9.698335e-01,  9.770010e-01,  9.953920e-01,\n",
      "        9.826420e-01,  9.714230e-01,  9.462450e-01,  9.627860e-01,\n",
      "        9.664470e-01,  9.641765e-01,  9.833970e-01,  9.708755e-01,\n",
      "        9.782080e-01,  9.771825e-01,  9.691810e-01,  9.812770e-01,\n",
      "        9.688860e-01,  9.804320e-01,  9.044780e-01,  6.051390e-01,\n",
      "        1.904670e-01,  2.473500e-02,  2.574000e-03,  2.395000e-04,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00,  0.000000e+00])), (4, 0.625, 0.69, array([-3.420000e-04,  1.372500e-03,  7.197000e-03,  4.864650e-02,\n",
      "        2.997780e-01,  8.349580e-01,  9.508230e-01,  9.572680e-01,\n",
      "        9.841730e-01,  9.831725e-01,  9.594410e-01,  9.544425e-01,\n",
      "        9.816880e-01,  9.885015e-01,  9.769600e-01,  9.889420e-01,\n",
      "        9.806780e-01,  9.664660e-01,  9.669280e-01,  7.291070e-01,\n",
      "        1.239460e-01,  1.251750e-02,  1.402000e-03,  0.000000e+00,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00])), (5, 0.829, 0.899, array([0.000000e+00, 7.500000e-05, 3.140000e-04, 8.525000e-04,\n",
      "       2.107000e-03, 5.901500e-03, 1.734600e-02, 6.627700e-02,\n",
      "       2.497330e-01, 6.638300e-01, 9.602150e-01, 9.768695e-01,\n",
      "       1.000000e+00, 9.783340e-01, 9.573570e-01, 9.501030e-01,\n",
      "       9.484500e-01, 9.533555e-01, 9.698210e-01, 8.398995e-01,\n",
      "       4.483640e-01, 1.374810e-01, 3.453200e-02, 1.002050e-02,\n",
      "       2.944000e-03, 9.675000e-04, 2.410000e-04, 1.550000e-05,\n",
      "       0.000000e+00])), (6, 1.515, 1.695, array([0.000000e+00, 2.000000e-04, 4.660000e-04, 8.450000e-04,\n",
      "       1.369000e-03, 2.015500e-03, 2.881000e-03, 4.021500e-03,\n",
      "       5.528000e-03, 7.889000e-03, 1.098900e-02, 1.527550e-02,\n",
      "       2.183100e-02, 3.256150e-02, 4.786400e-02, 7.094900e-02,\n",
      "       1.018930e-01, 1.508845e-01, 2.202610e-01, 3.106490e-01,\n",
      "       4.214700e-01, 5.522340e-01, 6.766830e-01, 7.715090e-01,\n",
      "       8.540650e-01, 8.958235e-01, 9.130090e-01, 9.250580e-01,\n",
      "       9.264130e-01, 9.238180e-01, 9.228280e-01, 9.224085e-01,\n",
      "       9.266050e-01, 9.434380e-01, 9.461750e-01, 9.472975e-01,\n",
      "       9.528590e-01, 9.513585e-01, 9.590470e-01, 9.591915e-01,\n",
      "       9.614700e-01, 9.604940e-01, 9.647030e-01, 9.699515e-01,\n",
      "       9.769060e-01, 9.812715e-01, 9.886090e-01, 9.990105e-01,\n",
      "       9.996420e-01, 9.898280e-01, 9.671250e-01, 9.267190e-01,\n",
      "       8.409670e-01, 7.231030e-01, 5.732320e-01, 4.229980e-01,\n",
      "       2.917520e-01, 1.959880e-01, 1.284630e-01, 8.283800e-02,\n",
      "       5.275200e-02, 3.456550e-02, 2.250400e-02, 1.471950e-02,\n",
      "       9.587000e-03, 6.396000e-03, 4.257000e-03, 2.798000e-03,\n",
      "       1.781000e-03, 1.142000e-03, 6.770000e-04, 3.550000e-04,\n",
      "       1.120000e-04])), (7, 2.037, 2.354, array([0.000000e+00, 1.070000e-04, 2.400000e-04, 3.990000e-04,\n",
      "       5.990000e-04, 8.805000e-04, 1.222000e-03, 1.645500e-03,\n",
      "       2.187000e-03, 2.853000e-03, 3.733000e-03, 4.882000e-03,\n",
      "       6.337000e-03, 8.449500e-03, 1.100500e-02, 1.429850e-02,\n",
      "       1.889900e-02, 2.450900e-02, 3.207100e-02, 4.281900e-02,\n",
      "       5.642900e-02, 7.489550e-02, 1.006400e-01, 1.364800e-01,\n",
      "       1.797140e-01, 2.404830e-01, 3.113470e-01, 3.948325e-01,\n",
      "       4.888160e-01, 5.739710e-01, 6.630670e-01, 7.394065e-01,\n",
      "       7.926670e-01, 8.411725e-01, 8.678450e-01, 8.862690e-01,\n",
      "       9.065270e-01, 9.145380e-01, 9.296930e-01, 9.389750e-01,\n",
      "       9.429520e-01, 9.441810e-01, 9.487760e-01, 9.495215e-01,\n",
      "       9.566350e-01, 9.482585e-01, 9.508740e-01, 9.470495e-01,\n",
      "       9.577170e-01, 9.470950e-01, 9.516410e-01, 9.468000e-01,\n",
      "       9.403110e-01, 9.464665e-01, 9.387370e-01, 9.444390e-01,\n",
      "       9.444820e-01, 9.504720e-01, 9.399390e-01, 9.371565e-01,\n",
      "       9.389550e-01, 9.281235e-01, 9.305080e-01, 9.309460e-01,\n",
      "       9.364720e-01, 9.343275e-01, 9.462170e-01, 9.538260e-01,\n",
      "       9.631350e-01, 9.639440e-01, 9.629050e-01, 9.616070e-01,\n",
      "       9.578140e-01, 9.556575e-01, 9.517060e-01, 9.602755e-01,\n",
      "       9.476960e-01, 9.598070e-01, 9.557500e-01, 9.566075e-01,\n",
      "       9.667860e-01, 9.628230e-01, 9.776370e-01, 9.834575e-01,\n",
      "       9.850560e-01, 9.986270e-01, 9.924690e-01, 9.979470e-01,\n",
      "       9.972610e-01, 9.894370e-01, 9.860370e-01, 9.812800e-01,\n",
      "       9.727940e-01, 9.763695e-01, 9.744090e-01, 9.636985e-01,\n",
      "       9.550950e-01, 9.513915e-01, 9.224050e-01, 8.892640e-01,\n",
      "       8.238760e-01, 7.212725e-01, 6.025390e-01, 4.776955e-01,\n",
      "       3.555690e-01, 2.614525e-01, 1.861510e-01, 1.317250e-01,\n",
      "       9.202900e-02, 6.498950e-02, 4.633200e-02, 3.342350e-02,\n",
      "       2.400000e-02, 1.762500e-02, 1.293000e-02, 9.557000e-03,\n",
      "       7.088000e-03, 5.331000e-03, 3.903000e-03, 2.838000e-03,\n",
      "       2.047000e-03, 1.449500e-03, 9.740000e-04, 6.200000e-04,\n",
      "       3.200000e-04, 7.350000e-05, 0.000000e+00, 0.000000e+00])), (8, 0.488, 0.691, array([2.160000e-04, 1.300000e-03, 3.841000e-03, 1.225900e-02,\n",
      "       4.272300e-02, 1.601375e-01, 4.724960e-01, 7.454125e-01,\n",
      "       8.318810e-01, 8.553215e-01, 8.596400e-01, 8.576960e-01,\n",
      "       8.584550e-01, 8.583010e-01, 8.501830e-01, 8.582235e-01,\n",
      "       8.615080e-01, 8.576835e-01, 8.792490e-01, 8.917105e-01,\n",
      "       9.062940e-01, 9.128670e-01, 9.029390e-01, 9.207395e-01,\n",
      "       9.130200e-01, 8.856505e-01, 8.794430e-01, 8.741790e-01,\n",
      "       8.753610e-01, 8.916650e-01, 8.740970e-01, 8.868885e-01,\n",
      "       9.035280e-01, 9.109505e-01, 9.131900e-01, 9.201780e-01,\n",
      "       9.244310e-01, 9.298095e-01, 9.488630e-01, 9.405430e-01,\n",
      "       9.456740e-01, 9.393800e-01, 9.466590e-01, 9.340445e-01,\n",
      "       9.408380e-01, 9.580395e-01, 9.682410e-01, 9.664805e-01,\n",
      "       9.572320e-01, 9.476755e-01, 9.524650e-01, 9.574815e-01,\n",
      "       9.641580e-01, 9.673660e-01, 9.770260e-01, 9.760295e-01,\n",
      "       9.695830e-01, 9.728070e-01, 9.657800e-01, 9.667380e-01,\n",
      "       9.720670e-01, 9.793465e-01, 9.711230e-01, 9.533770e-01,\n",
      "       9.638510e-01, 9.671015e-01, 9.706130e-01, 9.799745e-01,\n",
      "       9.883020e-01, 9.917530e-01, 1.000000e+00, 9.984760e-01,\n",
      "       9.925550e-01, 9.858115e-01, 9.139450e-01, 5.243765e-01,\n",
      "       1.673130e-01, 4.617550e-02, 1.517800e-02, 6.709500e-03,\n",
      "       3.220000e-03, 1.212000e-03])), (9, 1.34, 1.407, array([0.000000e+00, 2.575000e-04, 6.470000e-04, 1.274000e-03,\n",
      "       2.318000e-03, 4.704500e-03, 1.112400e-02, 3.453850e-02,\n",
      "       1.153510e-01, 3.866815e-01, 7.721180e-01, 9.009415e-01,\n",
      "       9.312470e-01, 9.916870e-01, 1.000000e+00, 9.770805e-01,\n",
      "       8.713430e-01, 6.548880e-01, 2.979200e-01, 8.961450e-02,\n",
      "       2.608400e-02, 8.306500e-03, 2.780000e-03, 1.119000e-03,\n",
      "       2.200000e-04, 0.000000e+00, 0.000000e+00, 0.000000e+00]))]\n",
      "<class 'list'>\n",
      "Running for many wavelengths - this may take a long time\n",
      "(1, 0.427, 0.457, array([7.300000e-05, 2.524500e-03, 2.476700e-02, 3.859850e-01,\n",
      "       9.087490e-01, 9.805915e-01, 9.867130e-01, 9.965685e-01,\n",
      "       9.827800e-01, 8.257070e-01, 2.264120e-01, 2.557000e-02,\n",
      "       2.414000e-03]))(2, 0.436, 0.526, array([1.000000e-05, 1.790000e-04, 4.550000e-04, 1.633500e-03,\n",
      "       6.869000e-03, 4.288800e-02, 2.713700e-01, 7.907405e-01,\n",
      "       9.030340e-01, 9.046775e-01, 8.896670e-01, 8.792320e-01,\n",
      "       8.796880e-01, 8.897965e-01, 8.485330e-01, 8.362705e-01,\n",
      "       8.684970e-01, 9.114615e-01, 9.317260e-01, 9.548965e-01,\n",
      "       9.564240e-01, 9.838340e-01, 9.894690e-01, 9.680665e-01,\n",
      "       9.887290e-01, 9.610575e-01, 9.661250e-01, 9.820770e-01,\n",
      "       9.631350e-01, 9.982490e-01, 8.448930e-01, 1.195335e-01,\n",
      "       5.328000e-03, 1.328500e-03, 5.160000e-04, 1.170000e-04,\n",
      "       2.300000e-05]))\n",
      "\n",
      "(3, 0.512, 0.61, array([-4.600000e-05,  1.785000e-04,  6.480000e-04,  1.574000e-03,\n",
      "        3.446000e-03,  8.732500e-03,  2.551300e-02,  9.699750e-02,\n",
      "        3.538850e-01,  8.032150e-01,  9.546270e-01,  9.602715e-01,\n",
      "        9.698730e-01,  9.698335e-01,  9.770010e-01,  9.953920e-01,\n",
      "        9.826420e-01,  9.714230e-01,  9.462450e-01,  9.627860e-01,\n",
      "        9.664470e-01,  9.641765e-01,  9.833970e-01,  9.708755e-01,\n",
      "        9.782080e-01,  9.771825e-01,  9.691810e-01,  9.812770e-01,\n",
      "        9.688860e-01,  9.804320e-01,  9.044780e-01,  6.051390e-01,\n",
      "        1.904670e-01,  2.473500e-02,  2.574000e-03,  2.395000e-04,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00,  0.000000e+00]))(4, 0.625, 0.69, array([-3.420000e-04,  1.372500e-03,  7.197000e-03,  4.864650e-02,\n",
      "        2.997780e-01,  8.349580e-01,  9.508230e-01,  9.572680e-01,\n",
      "        9.841730e-01,  9.831725e-01,  9.594410e-01,  9.544425e-01,\n",
      "        9.816880e-01,  9.885015e-01,  9.769600e-01,  9.889420e-01,\n",
      "        9.806780e-01,  9.664660e-01,  9.669280e-01,  7.291070e-01,\n",
      "        1.239460e-01,  1.251750e-02,  1.402000e-03,  0.000000e+00,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00]))\n",
      "(5, 0.829, 0.899, array([0.000000e+00, 7.500000e-05, 3.140000e-04, 8.525000e-04,\n",
      "       2.107000e-03, 5.901500e-03, 1.734600e-02, 6.627700e-02,\n",
      "       2.497330e-01, 6.638300e-01, 9.602150e-01, 9.768695e-01,\n",
      "       1.000000e+00, 9.783340e-01, 9.573570e-01, 9.501030e-01,\n",
      "       9.484500e-01, 9.533555e-01, 9.698210e-01, 8.398995e-01,\n",
      "       4.483640e-01, 1.374810e-01, 3.453200e-02, 1.002050e-02,\n",
      "       2.944000e-03, 9.675000e-04, 2.410000e-04, 1.550000e-05,\n",
      "       0.000000e+00]))\n",
      "(6, 1.515, 1.695, array([0.000000e+00, 2.000000e-04, 4.660000e-04, 8.450000e-04,\n",
      "       1.369000e-03, 2.015500e-03, 2.881000e-03, 4.021500e-03,\n",
      "       5.528000e-03, 7.889000e-03, 1.098900e-02, 1.527550e-02,\n",
      "       2.183100e-02, 3.256150e-02, 4.786400e-02, 7.094900e-02,\n",
      "       1.018930e-01, 1.508845e-01, 2.202610e-01, 3.106490e-01,\n",
      "       4.214700e-01, 5.522340e-01, 6.766830e-01, 7.715090e-01,\n",
      "       8.540650e-01, 8.958235e-01, 9.130090e-01, 9.250580e-01,\n",
      "       9.264130e-01, 9.238180e-01, 9.228280e-01, 9.224085e-01,\n",
      "       9.266050e-01, 9.434380e-01, 9.461750e-01, 9.472975e-01,\n",
      "       9.528590e-01, 9.513585e-01, 9.590470e-01, 9.591915e-01,\n",
      "       9.614700e-01, 9.604940e-01, 9.647030e-01, 9.699515e-01,\n",
      "       9.769060e-01, 9.812715e-01, 9.886090e-01, 9.990105e-01,\n",
      "       9.996420e-01, 9.898280e-01, 9.671250e-01, 9.267190e-01,\n",
      "       8.409670e-01, 7.231030e-01, 5.732320e-01, 4.229980e-01,\n",
      "       2.917520e-01, 1.959880e-01, 1.284630e-01, 8.283800e-02,\n",
      "       5.275200e-02, 3.456550e-02, 2.250400e-02, 1.471950e-02,\n",
      "       9.587000e-03, 6.396000e-03, 4.257000e-03, 2.798000e-03,\n",
      "       1.781000e-03, 1.142000e-03, 6.770000e-04, 3.550000e-04,\n",
      "       1.120000e-04]))\n",
      "(7, 2.037, 2.354, array([0.000000e+00, 1.070000e-04, 2.400000e-04, 3.990000e-04,\n",
      "       5.990000e-04, 8.805000e-04, 1.222000e-03, 1.645500e-03,\n",
      "       2.187000e-03, 2.853000e-03, 3.733000e-03, 4.882000e-03,\n",
      "       6.337000e-03, 8.449500e-03, 1.100500e-02, 1.429850e-02,\n",
      "       1.889900e-02, 2.450900e-02, 3.207100e-02, 4.281900e-02,\n",
      "       5.642900e-02, 7.489550e-02, 1.006400e-01, 1.364800e-01,\n",
      "       1.797140e-01, 2.404830e-01, 3.113470e-01, 3.948325e-01,\n",
      "       4.888160e-01, 5.739710e-01, 6.630670e-01, 7.394065e-01,\n",
      "       7.926670e-01, 8.411725e-01, 8.678450e-01, 8.862690e-01,\n",
      "       9.065270e-01, 9.145380e-01, 9.296930e-01, 9.389750e-01,\n",
      "       9.429520e-01, 9.441810e-01, 9.487760e-01, 9.495215e-01,\n",
      "       9.566350e-01, 9.482585e-01, 9.508740e-01, 9.470495e-01,\n",
      "       9.577170e-01, 9.470950e-01, 9.516410e-01, 9.468000e-01,\n",
      "       9.403110e-01, 9.464665e-01, 9.387370e-01, 9.444390e-01,\n",
      "       9.444820e-01, 9.504720e-01, 9.399390e-01, 9.371565e-01,\n",
      "       9.389550e-01, 9.281235e-01, 9.305080e-01, 9.309460e-01,\n",
      "       9.364720e-01, 9.343275e-01, 9.462170e-01, 9.538260e-01,\n",
      "       9.631350e-01, 9.639440e-01, 9.629050e-01, 9.616070e-01,\n",
      "       9.578140e-01, 9.556575e-01, 9.517060e-01, 9.602755e-01,\n",
      "       9.476960e-01, 9.598070e-01, 9.557500e-01, 9.566075e-01,\n",
      "       9.667860e-01, 9.628230e-01, 9.776370e-01, 9.834575e-01,\n",
      "       9.850560e-01, 9.986270e-01, 9.924690e-01, 9.979470e-01,\n",
      "       9.972610e-01, 9.894370e-01, 9.860370e-01, 9.812800e-01,\n",
      "       9.727940e-01, 9.763695e-01, 9.744090e-01, 9.636985e-01,\n",
      "       9.550950e-01, 9.513915e-01, 9.224050e-01, 8.892640e-01,\n",
      "       8.238760e-01, 7.212725e-01, 6.025390e-01, 4.776955e-01,\n",
      "       3.555690e-01, 2.614525e-01, 1.861510e-01, 1.317250e-01,\n",
      "       9.202900e-02, 6.498950e-02, 4.633200e-02, 3.342350e-02,\n",
      "       2.400000e-02, 1.762500e-02, 1.293000e-02, 9.557000e-03,\n",
      "       7.088000e-03, 5.331000e-03, 3.903000e-03, 2.838000e-03,\n",
      "       2.047000e-03, 1.449500e-03, 9.740000e-04, 6.200000e-04,\n",
      "       3.200000e-04, 7.350000e-05, 0.000000e+00, 0.000000e+00]))\n",
      "\n",
      "(8, 0.488, 0.691, array([2.160000e-04, 1.300000e-03, 3.841000e-03, 1.225900e-02,\n",
      "       4.272300e-02, 1.601375e-01, 4.724960e-01, 7.454125e-01,\n",
      "       8.318810e-01, 8.553215e-01, 8.596400e-01, 8.576960e-01,\n",
      "       8.584550e-01, 8.583010e-01, 8.501830e-01, 8.582235e-01,\n",
      "       8.615080e-01, 8.576835e-01, 8.792490e-01, 8.917105e-01,\n",
      "       9.062940e-01, 9.128670e-01, 9.029390e-01, 9.207395e-01,\n",
      "       9.130200e-01, 8.856505e-01, 8.794430e-01, 8.741790e-01,\n",
      "       8.753610e-01, 8.916650e-01, 8.740970e-01, 8.868885e-01,\n",
      "       9.035280e-01, 9.109505e-01, 9.131900e-01, 9.201780e-01,\n",
      "       9.244310e-01, 9.298095e-01, 9.488630e-01, 9.405430e-01,\n",
      "       9.456740e-01, 9.393800e-01, 9.466590e-01, 9.340445e-01,\n",
      "       9.408380e-01, 9.580395e-01, 9.682410e-01, 9.664805e-01,\n",
      "       9.572320e-01, 9.476755e-01, 9.524650e-01, 9.574815e-01,\n",
      "       9.641580e-01, 9.673660e-01, 9.770260e-01, 9.760295e-01,\n",
      "       9.695830e-01, 9.728070e-01, 9.657800e-01, 9.667380e-01,\n",
      "       9.720670e-01, 9.793465e-01, 9.711230e-01, 9.533770e-01,\n",
      "       9.638510e-01, 9.671015e-01, 9.706130e-01, 9.799745e-01,\n",
      "       9.883020e-01, 9.917530e-01, 1.000000e+00, 9.984760e-01,\n",
      "       9.925550e-01, 9.858115e-01, 9.139450e-01, 5.243765e-01,\n",
      "       1.673130e-01, 4.617550e-02, 1.517800e-02, 6.709500e-03,\n",
      "       3.220000e-03, 1.212000e-03]))\n",
      "(9, 1.34, 1.407, array([0.000000e+00, 2.575000e-04, 6.470000e-04, 1.274000e-03,\n",
      "       2.318000e-03, 4.704500e-03, 1.112400e-02, 3.453850e-02,\n",
      "       1.153510e-01, 3.866815e-01, 7.721180e-01, 9.009415e-01,\n",
      "       9.312470e-01, 9.916870e-01, 1.000000e+00, 9.770805e-01,\n",
      "       8.713430e-01, 6.548880e-01, 2.979200e-01, 8.961450e-02,\n",
      "       2.608400e-02, 8.306500e-03, 2.780000e-03, 1.119000e-03,\n",
      "       2.200000e-04, 0.000000e+00, 0.000000e+00, 0.000000e+00]))\n",
      "wavelengths pass:\n",
      "[(1, 0.427, 0.457, array([7.300000e-05, 2.524500e-03, 2.476700e-02, 3.859850e-01,\n",
      "       9.087490e-01, 9.805915e-01, 9.867130e-01, 9.965685e-01,\n",
      "       9.827800e-01, 8.257070e-01, 2.264120e-01, 2.557000e-02,\n",
      "       2.414000e-03])), (2, 0.436, 0.526, array([1.000000e-05, 1.790000e-04, 4.550000e-04, 1.633500e-03,\n",
      "       6.869000e-03, 4.288800e-02, 2.713700e-01, 7.907405e-01,\n",
      "       9.030340e-01, 9.046775e-01, 8.896670e-01, 8.792320e-01,\n",
      "       8.796880e-01, 8.897965e-01, 8.485330e-01, 8.362705e-01,\n",
      "       8.684970e-01, 9.114615e-01, 9.317260e-01, 9.548965e-01,\n",
      "       9.564240e-01, 9.838340e-01, 9.894690e-01, 9.680665e-01,\n",
      "       9.887290e-01, 9.610575e-01, 9.661250e-01, 9.820770e-01,\n",
      "       9.631350e-01, 9.982490e-01, 8.448930e-01, 1.195335e-01,\n",
      "       5.328000e-03, 1.328500e-03, 5.160000e-04, 1.170000e-04,\n",
      "       2.300000e-05])), (3, 0.512, 0.61, array([-4.600000e-05,  1.785000e-04,  6.480000e-04,  1.574000e-03,\n",
      "        3.446000e-03,  8.732500e-03,  2.551300e-02,  9.699750e-02,\n",
      "        3.538850e-01,  8.032150e-01,  9.546270e-01,  9.602715e-01,\n",
      "        9.698730e-01,  9.698335e-01,  9.770010e-01,  9.953920e-01,\n",
      "        9.826420e-01,  9.714230e-01,  9.462450e-01,  9.627860e-01,\n",
      "        9.664470e-01,  9.641765e-01,  9.833970e-01,  9.708755e-01,\n",
      "        9.782080e-01,  9.771825e-01,  9.691810e-01,  9.812770e-01,\n",
      "        9.688860e-01,  9.804320e-01,  9.044780e-01,  6.051390e-01,\n",
      "        1.904670e-01,  2.473500e-02,  2.574000e-03,  2.395000e-04,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00,  0.000000e+00])), (4, 0.625, 0.69, array([-3.420000e-04,  1.372500e-03,  7.197000e-03,  4.864650e-02,\n",
      "        2.997780e-01,  8.349580e-01,  9.508230e-01,  9.572680e-01,\n",
      "        9.841730e-01,  9.831725e-01,  9.594410e-01,  9.544425e-01,\n",
      "        9.816880e-01,  9.885015e-01,  9.769600e-01,  9.889420e-01,\n",
      "        9.806780e-01,  9.664660e-01,  9.669280e-01,  7.291070e-01,\n",
      "        1.239460e-01,  1.251750e-02,  1.402000e-03,  0.000000e+00,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00])), (5, 0.829, 0.899, array([0.000000e+00, 7.500000e-05, 3.140000e-04, 8.525000e-04,\n",
      "       2.107000e-03, 5.901500e-03, 1.734600e-02, 6.627700e-02,\n",
      "       2.497330e-01, 6.638300e-01, 9.602150e-01, 9.768695e-01,\n",
      "       1.000000e+00, 9.783340e-01, 9.573570e-01, 9.501030e-01,\n",
      "       9.484500e-01, 9.533555e-01, 9.698210e-01, 8.398995e-01,\n",
      "       4.483640e-01, 1.374810e-01, 3.453200e-02, 1.002050e-02,\n",
      "       2.944000e-03, 9.675000e-04, 2.410000e-04, 1.550000e-05,\n",
      "       0.000000e+00])), (6, 1.515, 1.695, array([0.000000e+00, 2.000000e-04, 4.660000e-04, 8.450000e-04,\n",
      "       1.369000e-03, 2.015500e-03, 2.881000e-03, 4.021500e-03,\n",
      "       5.528000e-03, 7.889000e-03, 1.098900e-02, 1.527550e-02,\n",
      "       2.183100e-02, 3.256150e-02, 4.786400e-02, 7.094900e-02,\n",
      "       1.018930e-01, 1.508845e-01, 2.202610e-01, 3.106490e-01,\n",
      "       4.214700e-01, 5.522340e-01, 6.766830e-01, 7.715090e-01,\n",
      "       8.540650e-01, 8.958235e-01, 9.130090e-01, 9.250580e-01,\n",
      "       9.264130e-01, 9.238180e-01, 9.228280e-01, 9.224085e-01,\n",
      "       9.266050e-01, 9.434380e-01, 9.461750e-01, 9.472975e-01,\n",
      "       9.528590e-01, 9.513585e-01, 9.590470e-01, 9.591915e-01,\n",
      "       9.614700e-01, 9.604940e-01, 9.647030e-01, 9.699515e-01,\n",
      "       9.769060e-01, 9.812715e-01, 9.886090e-01, 9.990105e-01,\n",
      "       9.996420e-01, 9.898280e-01, 9.671250e-01, 9.267190e-01,\n",
      "       8.409670e-01, 7.231030e-01, 5.732320e-01, 4.229980e-01,\n",
      "       2.917520e-01, 1.959880e-01, 1.284630e-01, 8.283800e-02,\n",
      "       5.275200e-02, 3.456550e-02, 2.250400e-02, 1.471950e-02,\n",
      "       9.587000e-03, 6.396000e-03, 4.257000e-03, 2.798000e-03,\n",
      "       1.781000e-03, 1.142000e-03, 6.770000e-04, 3.550000e-04,\n",
      "       1.120000e-04])), (7, 2.037, 2.354, array([0.000000e+00, 1.070000e-04, 2.400000e-04, 3.990000e-04,\n",
      "       5.990000e-04, 8.805000e-04, 1.222000e-03, 1.645500e-03,\n",
      "       2.187000e-03, 2.853000e-03, 3.733000e-03, 4.882000e-03,\n",
      "       6.337000e-03, 8.449500e-03, 1.100500e-02, 1.429850e-02,\n",
      "       1.889900e-02, 2.450900e-02, 3.207100e-02, 4.281900e-02,\n",
      "       5.642900e-02, 7.489550e-02, 1.006400e-01, 1.364800e-01,\n",
      "       1.797140e-01, 2.404830e-01, 3.113470e-01, 3.948325e-01,\n",
      "       4.888160e-01, 5.739710e-01, 6.630670e-01, 7.394065e-01,\n",
      "       7.926670e-01, 8.411725e-01, 8.678450e-01, 8.862690e-01,\n",
      "       9.065270e-01, 9.145380e-01, 9.296930e-01, 9.389750e-01,\n",
      "       9.429520e-01, 9.441810e-01, 9.487760e-01, 9.495215e-01,\n",
      "       9.566350e-01, 9.482585e-01, 9.508740e-01, 9.470495e-01,\n",
      "       9.577170e-01, 9.470950e-01, 9.516410e-01, 9.468000e-01,\n",
      "       9.403110e-01, 9.464665e-01, 9.387370e-01, 9.444390e-01,\n",
      "       9.444820e-01, 9.504720e-01, 9.399390e-01, 9.371565e-01,\n",
      "       9.389550e-01, 9.281235e-01, 9.305080e-01, 9.309460e-01,\n",
      "       9.364720e-01, 9.343275e-01, 9.462170e-01, 9.538260e-01,\n",
      "       9.631350e-01, 9.639440e-01, 9.629050e-01, 9.616070e-01,\n",
      "       9.578140e-01, 9.556575e-01, 9.517060e-01, 9.602755e-01,\n",
      "       9.476960e-01, 9.598070e-01, 9.557500e-01, 9.566075e-01,\n",
      "       9.667860e-01, 9.628230e-01, 9.776370e-01, 9.834575e-01,\n",
      "       9.850560e-01, 9.986270e-01, 9.924690e-01, 9.979470e-01,\n",
      "       9.972610e-01, 9.894370e-01, 9.860370e-01, 9.812800e-01,\n",
      "       9.727940e-01, 9.763695e-01, 9.744090e-01, 9.636985e-01,\n",
      "       9.550950e-01, 9.513915e-01, 9.224050e-01, 8.892640e-01,\n",
      "       8.238760e-01, 7.212725e-01, 6.025390e-01, 4.776955e-01,\n",
      "       3.555690e-01, 2.614525e-01, 1.861510e-01, 1.317250e-01,\n",
      "       9.202900e-02, 6.498950e-02, 4.633200e-02, 3.342350e-02,\n",
      "       2.400000e-02, 1.762500e-02, 1.293000e-02, 9.557000e-03,\n",
      "       7.088000e-03, 5.331000e-03, 3.903000e-03, 2.838000e-03,\n",
      "       2.047000e-03, 1.449500e-03, 9.740000e-04, 6.200000e-04,\n",
      "       3.200000e-04, 7.350000e-05, 0.000000e+00, 0.000000e+00])), (8, 0.488, 0.691, array([2.160000e-04, 1.300000e-03, 3.841000e-03, 1.225900e-02,\n",
      "       4.272300e-02, 1.601375e-01, 4.724960e-01, 7.454125e-01,\n",
      "       8.318810e-01, 8.553215e-01, 8.596400e-01, 8.576960e-01,\n",
      "       8.584550e-01, 8.583010e-01, 8.501830e-01, 8.582235e-01,\n",
      "       8.615080e-01, 8.576835e-01, 8.792490e-01, 8.917105e-01,\n",
      "       9.062940e-01, 9.128670e-01, 9.029390e-01, 9.207395e-01,\n",
      "       9.130200e-01, 8.856505e-01, 8.794430e-01, 8.741790e-01,\n",
      "       8.753610e-01, 8.916650e-01, 8.740970e-01, 8.868885e-01,\n",
      "       9.035280e-01, 9.109505e-01, 9.131900e-01, 9.201780e-01,\n",
      "       9.244310e-01, 9.298095e-01, 9.488630e-01, 9.405430e-01,\n",
      "       9.456740e-01, 9.393800e-01, 9.466590e-01, 9.340445e-01,\n",
      "       9.408380e-01, 9.580395e-01, 9.682410e-01, 9.664805e-01,\n",
      "       9.572320e-01, 9.476755e-01, 9.524650e-01, 9.574815e-01,\n",
      "       9.641580e-01, 9.673660e-01, 9.770260e-01, 9.760295e-01,\n",
      "       9.695830e-01, 9.728070e-01, 9.657800e-01, 9.667380e-01,\n",
      "       9.720670e-01, 9.793465e-01, 9.711230e-01, 9.533770e-01,\n",
      "       9.638510e-01, 9.671015e-01, 9.706130e-01, 9.799745e-01,\n",
      "       9.883020e-01, 9.917530e-01, 1.000000e+00, 9.984760e-01,\n",
      "       9.925550e-01, 9.858115e-01, 9.139450e-01, 5.243765e-01,\n",
      "       1.673130e-01, 4.617550e-02, 1.517800e-02, 6.709500e-03,\n",
      "       3.220000e-03, 1.212000e-03])), (9, 1.34, 1.407, array([0.000000e+00, 2.575000e-04, 6.470000e-04, 1.274000e-03,\n",
      "       2.318000e-03, 4.704500e-03, 1.112400e-02, 3.453850e-02,\n",
      "       1.153510e-01, 3.866815e-01, 7.721180e-01, 9.009415e-01,\n",
      "       9.312470e-01, 9.916870e-01, 1.000000e+00, 9.770805e-01,\n",
      "       8.713430e-01, 6.548880e-01, 2.979200e-01, 8.961450e-02,\n",
      "       2.608400e-02, 8.306500e-03, 2.780000e-03, 1.119000e-03,\n",
      "       2.200000e-04, 0.000000e+00, 0.000000e+00, 0.000000e+00]))]\n",
      "<class 'list'>\n",
      "Running for many wavelengths - this may take a long time\n",
      "(1, 0.427, 0.457, array([7.300000e-05, 2.524500e-03, 2.476700e-02, 3.859850e-01,\n",
      "       9.087490e-01, 9.805915e-01, 9.867130e-01, 9.965685e-01,\n",
      "       9.827800e-01, 8.257070e-01, 2.264120e-01, 2.557000e-02,\n",
      "       2.414000e-03]))(2, 0.436, 0.526, array([1.000000e-05, 1.790000e-04, 4.550000e-04, 1.633500e-03,\n",
      "       6.869000e-03, 4.288800e-02, 2.713700e-01, 7.907405e-01,\n",
      "       9.030340e-01, 9.046775e-01, 8.896670e-01, 8.792320e-01,\n",
      "       8.796880e-01, 8.897965e-01, 8.485330e-01, 8.362705e-01,\n",
      "       8.684970e-01, 9.114615e-01, 9.317260e-01, 9.548965e-01,\n",
      "       9.564240e-01, 9.838340e-01, 9.894690e-01, 9.680665e-01,\n",
      "       9.887290e-01, 9.610575e-01, 9.661250e-01, 9.820770e-01,\n",
      "       9.631350e-01, 9.982490e-01, 8.448930e-01, 1.195335e-01,\n",
      "       5.328000e-03, 1.328500e-03, 5.160000e-04, 1.170000e-04,\n",
      "       2.300000e-05]))\n",
      "\n",
      "(3, 0.512, 0.61, array([-4.600000e-05,  1.785000e-04,  6.480000e-04,  1.574000e-03,\n",
      "        3.446000e-03,  8.732500e-03,  2.551300e-02,  9.699750e-02,\n",
      "        3.538850e-01,  8.032150e-01,  9.546270e-01,  9.602715e-01,\n",
      "        9.698730e-01,  9.698335e-01,  9.770010e-01,  9.953920e-01,\n",
      "        9.826420e-01,  9.714230e-01,  9.462450e-01,  9.627860e-01,\n",
      "        9.664470e-01,  9.641765e-01,  9.833970e-01,  9.708755e-01,\n",
      "        9.782080e-01,  9.771825e-01,  9.691810e-01,  9.812770e-01,\n",
      "        9.688860e-01,  9.804320e-01,  9.044780e-01,  6.051390e-01,\n",
      "        1.904670e-01,  2.473500e-02,  2.574000e-03,  2.395000e-04,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00,  0.000000e+00]))\n",
      "(4, 0.625, 0.69, array([-3.420000e-04,  1.372500e-03,  7.197000e-03,  4.864650e-02,\n",
      "        2.997780e-01,  8.349580e-01,  9.508230e-01,  9.572680e-01,\n",
      "        9.841730e-01,  9.831725e-01,  9.594410e-01,  9.544425e-01,\n",
      "        9.816880e-01,  9.885015e-01,  9.769600e-01,  9.889420e-01,\n",
      "        9.806780e-01,  9.664660e-01,  9.669280e-01,  7.291070e-01,\n",
      "        1.239460e-01,  1.251750e-02,  1.402000e-03,  0.000000e+00,\n",
      "        0.000000e+00,  0.000000e+00,  0.000000e+00]))(5, 0.829, 0.899, array([0.000000e+00, 7.500000e-05, 3.140000e-04, 8.525000e-04,\n",
      "       2.107000e-03, 5.901500e-03, 1.734600e-02, 6.627700e-02,\n",
      "       2.497330e-01, 6.638300e-01, 9.602150e-01, 9.768695e-01,\n",
      "       1.000000e+00, 9.783340e-01, 9.573570e-01, 9.501030e-01,\n",
      "       9.484500e-01, 9.533555e-01, 9.698210e-01, 8.398995e-01,\n",
      "       4.483640e-01, 1.374810e-01, 3.453200e-02, 1.002050e-02,\n",
      "       2.944000e-03, 9.675000e-04, 2.410000e-04, 1.550000e-05,\n",
      "       0.000000e+00]))\n",
      "\n",
      "(6, 1.515, 1.695, array([0.000000e+00, 2.000000e-04, 4.660000e-04, 8.450000e-04,\n",
      "       1.369000e-03, 2.015500e-03, 2.881000e-03, 4.021500e-03,\n",
      "       5.528000e-03, 7.889000e-03, 1.098900e-02, 1.527550e-02,\n",
      "       2.183100e-02, 3.256150e-02, 4.786400e-02, 7.094900e-02,\n",
      "       1.018930e-01, 1.508845e-01, 2.202610e-01, 3.106490e-01,\n",
      "       4.214700e-01, 5.522340e-01, 6.766830e-01, 7.715090e-01,\n",
      "       8.540650e-01, 8.958235e-01, 9.130090e-01, 9.250580e-01,\n",
      "       9.264130e-01, 9.238180e-01, 9.228280e-01, 9.224085e-01,\n",
      "       9.266050e-01, 9.434380e-01, 9.461750e-01, 9.472975e-01,\n",
      "       9.528590e-01, 9.513585e-01, 9.590470e-01, 9.591915e-01,\n",
      "       9.614700e-01, 9.604940e-01, 9.647030e-01, 9.699515e-01,\n",
      "       9.769060e-01, 9.812715e-01, 9.886090e-01, 9.990105e-01,\n",
      "       9.996420e-01, 9.898280e-01, 9.671250e-01, 9.267190e-01,\n",
      "       8.409670e-01, 7.231030e-01, 5.732320e-01, 4.229980e-01,\n",
      "       2.917520e-01, 1.959880e-01, 1.284630e-01, 8.283800e-02,\n",
      "       5.275200e-02, 3.456550e-02, 2.250400e-02, 1.471950e-02,\n",
      "       9.587000e-03, 6.396000e-03, 4.257000e-03, 2.798000e-03,\n",
      "       1.781000e-03, 1.142000e-03, 6.770000e-04, 3.550000e-04,\n",
      "       1.120000e-04]))\n",
      "(7, 2.037, 2.354, array([0.000000e+00, 1.070000e-04, 2.400000e-04, 3.990000e-04,\n",
      "       5.990000e-04, 8.805000e-04, 1.222000e-03, 1.645500e-03,\n",
      "       2.187000e-03, 2.853000e-03, 3.733000e-03, 4.882000e-03,\n",
      "       6.337000e-03, 8.449500e-03, 1.100500e-02, 1.429850e-02,\n",
      "       1.889900e-02, 2.450900e-02, 3.207100e-02, 4.281900e-02,\n",
      "       5.642900e-02, 7.489550e-02, 1.006400e-01, 1.364800e-01,\n",
      "       1.797140e-01, 2.404830e-01, 3.113470e-01, 3.948325e-01,\n",
      "       4.888160e-01, 5.739710e-01, 6.630670e-01, 7.394065e-01,\n",
      "       7.926670e-01, 8.411725e-01, 8.678450e-01, 8.862690e-01,\n",
      "       9.065270e-01, 9.145380e-01, 9.296930e-01, 9.389750e-01,\n",
      "       9.429520e-01, 9.441810e-01, 9.487760e-01, 9.495215e-01,\n",
      "       9.566350e-01, 9.482585e-01, 9.508740e-01, 9.470495e-01,\n",
      "       9.577170e-01, 9.470950e-01, 9.516410e-01, 9.468000e-01,\n",
      "       9.403110e-01, 9.464665e-01, 9.387370e-01, 9.444390e-01,\n",
      "       9.444820e-01, 9.504720e-01, 9.399390e-01, 9.371565e-01,\n",
      "       9.389550e-01, 9.281235e-01, 9.305080e-01, 9.309460e-01,\n",
      "       9.364720e-01, 9.343275e-01, 9.462170e-01, 9.538260e-01,\n",
      "       9.631350e-01, 9.639440e-01, 9.629050e-01, 9.616070e-01,\n",
      "       9.578140e-01, 9.556575e-01, 9.517060e-01, 9.602755e-01,\n",
      "       9.476960e-01, 9.598070e-01, 9.557500e-01, 9.566075e-01,\n",
      "       9.667860e-01, 9.628230e-01, 9.776370e-01, 9.834575e-01,\n",
      "       9.850560e-01, 9.986270e-01, 9.924690e-01, 9.979470e-01,\n",
      "       9.972610e-01, 9.894370e-01, 9.860370e-01, 9.812800e-01,\n",
      "       9.727940e-01, 9.763695e-01, 9.744090e-01, 9.636985e-01,\n",
      "       9.550950e-01, 9.513915e-01, 9.224050e-01, 8.892640e-01,\n",
      "       8.238760e-01, 7.212725e-01, 6.025390e-01, 4.776955e-01,\n",
      "       3.555690e-01, 2.614525e-01, 1.861510e-01, 1.317250e-01,\n",
      "       9.202900e-02, 6.498950e-02, 4.633200e-02, 3.342350e-02,\n",
      "       2.400000e-02, 1.762500e-02, 1.293000e-02, 9.557000e-03,\n",
      "       7.088000e-03, 5.331000e-03, 3.903000e-03, 2.838000e-03,\n",
      "       2.047000e-03, 1.449500e-03, 9.740000e-04, 6.200000e-04,\n",
      "       3.200000e-04, 7.350000e-05, 0.000000e+00, 0.000000e+00]))(8, 0.488, 0.691, array([2.160000e-04, 1.300000e-03, 3.841000e-03, 1.225900e-02,\n",
      "       4.272300e-02, 1.601375e-01, 4.724960e-01, 7.454125e-01,\n",
      "       8.318810e-01, 8.553215e-01, 8.596400e-01, 8.576960e-01,\n",
      "       8.584550e-01, 8.583010e-01, 8.501830e-01, 8.582235e-01,\n",
      "       8.615080e-01, 8.576835e-01, 8.792490e-01, 8.917105e-01,\n",
      "       9.062940e-01, 9.128670e-01, 9.029390e-01, 9.207395e-01,\n",
      "       9.130200e-01, 8.856505e-01, 8.794430e-01, 8.741790e-01,\n",
      "       8.753610e-01, 8.916650e-01, 8.740970e-01, 8.868885e-01,\n",
      "       9.035280e-01, 9.109505e-01, 9.131900e-01, 9.201780e-01,\n",
      "       9.244310e-01, 9.298095e-01, 9.488630e-01, 9.405430e-01,\n",
      "       9.456740e-01, 9.393800e-01, 9.466590e-01, 9.340445e-01,\n",
      "       9.408380e-01, 9.580395e-01, 9.682410e-01, 9.664805e-01,\n",
      "       9.572320e-01, 9.476755e-01, 9.524650e-01, 9.574815e-01,\n",
      "       9.641580e-01, 9.673660e-01, 9.770260e-01, 9.760295e-01,\n",
      "       9.695830e-01, 9.728070e-01, 9.657800e-01, 9.667380e-01,\n",
      "       9.720670e-01, 9.793465e-01, 9.711230e-01, 9.533770e-01,\n",
      "       9.638510e-01, 9.671015e-01, 9.706130e-01, 9.799745e-01,\n",
      "       9.883020e-01, 9.917530e-01, 1.000000e+00, 9.984760e-01,\n",
      "       9.925550e-01, 9.858115e-01, 9.139450e-01, 5.243765e-01,\n",
      "       1.673130e-01, 4.617550e-02, 1.517800e-02, 6.709500e-03,\n",
      "       3.220000e-03, 1.212000e-03]))\n",
      "\n",
      "(9, 1.34, 1.407, array([0.000000e+00, 2.575000e-04, 6.470000e-04, 1.274000e-03,\n",
      "       2.318000e-03, 4.704500e-03, 1.112400e-02, 3.453850e-02,\n",
      "       1.153510e-01, 3.866815e-01, 7.721180e-01, 9.009415e-01,\n",
      "       9.312470e-01, 9.916870e-01, 1.000000e+00, 9.770805e-01,\n",
      "       8.713430e-01, 6.548880e-01, 2.979200e-01, 8.961450e-02,\n",
      "       2.608400e-02, 8.306500e-03, 2.780000e-03, 1.119000e-03,\n",
      "       2.200000e-04, 0.000000e+00, 0.000000e+00, 0.000000e+00]))\n"
     ]
    }
   ],
   "source": [
    "s = SixS()\n",
    "\n",
    "####################################### SETUP ###################################################\n",
    "# Select the Tropical Standard Atmosphere\n",
    "s.atmos_profile = AtmosProfile.PredefinedType(AtmosProfile.Tropical)\n",
    "\n",
    "################################## RUN THE MODEL ################################################\n",
    "s.aot550 = 0.0\n",
    "wavelengths , aot0_0 = SixSHelpers.Wavelengths.run_landsat_oli(s, output_name=\"pixel_radiance\");\n",
    "\n",
    "s.aot550 = 0.5\n",
    "wavelengths , aot0_5 = SixSHelpers.Wavelengths.run_landsat_oli(s, output_name=\"pixel_radiance\");\n",
    "\n",
    "s.aot550 = 1.0\n",
    "wavelengths , aot1_0 = SixSHelpers.Wavelengths.run_landsat_oli(s, output_name=\"pixel_radiance\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"cad07dea-552d-4514-a0a8-9c60f032cd97\" data-root-id=\"3331\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"10e176e5-80d8-447a-a84e-fd4b49c066b6\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"3342\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"3346\",\"type\":\"Grid\"},{\"id\":\"3351\",\"type\":\"Grid\"},{\"id\":\"3376\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"3347\",\"type\":\"LinearAxis\"}],\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"3368\",\"type\":\"GlyphRenderer\"},{\"id\":\"3381\",\"type\":\"GlyphRenderer\"},{\"id\":\"3395\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3332\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3358\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"3334\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"3338\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3336\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"3340\",\"type\":\"LinearScale\"}},\"id\":\"3331\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"overlay\":{\"id\":\"3375\",\"type\":\"BoxAnnotation\"}},\"id\":\"3354\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"axis_label\":\"Radiance [W m-2 um-1]\",\"formatter\":{\"id\":\"3372\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3348\",\"type\":\"BasicTicker\"}},\"id\":\"3347\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"3392\",\"type\":\"ColumnDataSource\"}},\"id\":\"3396\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3388\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"value\":\"purple\"},\"line_color\":{\"value\":\"purple\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3393\",\"type\":\"Scatter\"},{\"attributes\":{\"source\":{\"id\":\"3365\",\"type\":\"ColumnDataSource\"}},\"id\":\"3369\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3356\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"blue\"},\"line_color\":{\"value\":\"blue\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3366\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"3343\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0.442,0.481,0.5609999999999999,0.6575,0.864,1.605,2.1955,0.5894999999999999,1.3735],\"y\":{\"__ndarray__\":\"FK5H4XokYUAOLbKd7zNiQARWDi2yAWFAWmQ7309tXUDfT42XbvpSQAIrhxbZzjJAZmZmZmbmF0BkO99PjS9gQBKDwMqhRbY/\",\"dtype\":\"float64\",\"shape\":[9]}},\"selected\":{\"id\":\"3388\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3389\",\"type\":\"UnionRenderers\"}},\"id\":\"3365\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"lightgreen\"},\"line_color\":{\"value\":\"lightgreen\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3379\",\"type\":\"Scatter\"},{\"attributes\":{\"data_source\":{\"id\":\"3392\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3393\",\"type\":\"Scatter\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3394\",\"type\":\"Scatter\"},\"selection_glyph\":null,\"view\":{\"id\":\"3396\",\"type\":\"CDSView\"}},\"id\":\"3395\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"3404\",\"type\":\"Selection\"},{\"attributes\":{\"ticker\":{\"id\":\"3343\",\"type\":\"BasicTicker\"}},\"id\":\"3346\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"3357\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null},\"id\":\"3336\",\"type\":\"DataRange1d\"},{\"attributes\":{\"text\":\"Landsat OLI Radiances for Tropical Atmosphere\"},\"id\":\"3332\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"3543\",\"type\":\"Selection\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"3348\",\"type\":\"BasicTicker\"}},\"id\":\"3351\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"3353\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0.442,0.481,0.5609999999999999,0.6575,0.864,1.605,2.1955,0.5894999999999999,1.3735],\"y\":{\"__ndarray__\":\"WmQ730/1XkDFILByaI1gQIts5/upQV9A8KfGSzdBW0BqvHSTGLxRQB+F61G4vjFAO99PjZduFUAQWDm0yM5dQMuhRbbz/bQ/\",\"dtype\":\"float64\",\"shape\":[9]}},\"selected\":{\"id\":\"3543\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3544\",\"type\":\"UnionRenderers\"}},\"id\":\"3392\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"3340\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"3378\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3379\",\"type\":\"Scatter\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3380\",\"type\":\"Scatter\"},\"selection_glyph\":null,\"view\":{\"id\":\"3382\",\"type\":\"CDSView\"}},\"id\":\"3381\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"items\":[{\"id\":\"3377\",\"type\":\"LegendItem\"},{\"id\":\"3391\",\"type\":\"LegendItem\"},{\"id\":\"3407\",\"type\":\"LegendItem\"}]},\"id\":\"3376\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"3374\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3544\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3367\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"3352\",\"type\":\"PanTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3352\",\"type\":\"PanTool\"},{\"id\":\"3353\",\"type\":\"WheelZoomTool\"},{\"id\":\"3354\",\"type\":\"BoxZoomTool\"},{\"id\":\"3355\",\"type\":\"SaveTool\"},{\"id\":\"3356\",\"type\":\"ResetTool\"},{\"id\":\"3357\",\"type\":\"HelpTool\"}]},\"id\":\"3358\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3380\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"3389\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0.442,0.481,0.5609999999999999,0.6575,0.864,1.605,2.1955,0.5894999999999999,1.3735],\"y\":{\"__ndarray__\":\"5/up8dJZYECsHFpkO29hQFTjpZvEZGBAVOOlm8SAXECPwvUoXHdSQG8Sg8DKYTJAEoPAyqHFFkBYObTIdj5fQMP1KFyPwrU/\",\"dtype\":\"float64\",\"shape\":[9]}},\"selected\":{\"id\":\"3404\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3405\",\"type\":\"UnionRenderers\"}},\"id\":\"3378\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"3338\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"3372\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"value\":\"aot550 = 0.0\"},\"renderers\":[{\"id\":\"3368\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3377\",\"type\":\"LegendItem\"},{\"attributes\":{\"callback\":null},\"id\":\"3334\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"3365\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3366\",\"type\":\"Scatter\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3367\",\"type\":\"Scatter\"},\"selection_glyph\":null,\"view\":{\"id\":\"3369\",\"type\":\"CDSView\"}},\"id\":\"3368\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"label\":{\"value\":\"aot550 = 0.5\"},\"renderers\":[{\"id\":\"3381\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3391\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"3355\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"3348\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"3378\",\"type\":\"ColumnDataSource\"}},\"id\":\"3382\",\"type\":\"CDSView\"},{\"attributes\":{\"label\":{\"value\":\"aot550 = 1.0\"},\"renderers\":[{\"id\":\"3395\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3407\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"3405\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"3375\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis_label\":\"Wavelength (um)\",\"formatter\":{\"id\":\"3374\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3343\",\"type\":\"BasicTicker\"}},\"id\":\"3342\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3394\",\"type\":\"Scatter\"}],\"root_ids\":[\"3331\"]},\"title\":\"Bokeh Application\",\"version\":\"1.3.4\"}};\n",
       "  var render_items = [{\"docid\":\"10e176e5-80d8-447a-a84e-fd4b49c066b6\",\"roots\":{\"3331\":\"cad07dea-552d-4514-a0a8-9c60f032cd97\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "3331"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "p1 = figure(plot_width=900,\n",
    "            plot_height=500,\n",
    "            x_axis_label='Wavelength (um)',\n",
    "            y_axis_label='Radiance [W m-2 um-1]',\n",
    "            title='Landsat OLI Radiances for Tropical Atmosphere')\n",
    "p1.scatter(wavelengths, aot0_0, legend='aot550 = 0.0', color='blue') \n",
    "p1.scatter(wavelengths, aot0_5, legend='aot550 = 0.5', color='lightgreen') \n",
    "p1.scatter(wavelengths, aot1_0, legend='aot550 = 1.0', color='purple')\n",
    "\n",
    "show(p1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Setup for an Atmospheric Correction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "from Py6S import *\n",
    "s = SixS()\n",
    "\n",
    "s.atmos_profile = AtmosProfile.PredefinedType(AtmosProfile.Tropical)\n",
    "\n",
    "s.aero_profile  = AeroProfile.PredefinedType(AeroProfile.NoAerosols)\n",
    "#s.aero_profile  = AeroProfile.PredefinedType(AeroProfile.Maritime)\n",
    "#s.aero_profile  = AeroProfile.PredefinedType(AeroProfile.Urban)\n",
    "\n",
    "s.atmos_corr    = AtmosCorr.AtmosCorrLambertianFromReflectance(0.1)\n",
    "\n",
    "#apparent_radiance = []\n",
    "#atmos_corrected_reflectance_lambertian = []\n",
    "output = []\n",
    "\n",
    "wvs = np.arange(0.35, 0.9, 0.005)\n",
    "for wv in wvs:\n",
    "    s.wavelength = Wavelength(wv)\n",
    "    s.run()\n",
    "    output.append(s.outputs.values)\n",
    "output = pd.DataFrame(output, index=wvs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['version', 'month', 'day', 'solar_z', 'solar_a', 'view_z', 'view_a',\n",
       "       'scattering_angle', 'azimuthal_angle_difference', 'ground_pressure',\n",
       "       'ground_altitude', 'apparent_reflectance', 'apparent_radiance',\n",
       "       'total_gaseous_transmittance', 'wv_above_aerosol',\n",
       "       'wv_mixed_with_aerosol', 'wv_under_aerosol',\n",
       "       'percent_direct_solar_irradiance', 'percent_diffuse_solar_irradiance',\n",
       "       'percent_environmental_irradiance', 'atmospheric_intrinsic_reflectance',\n",
       "       'background_reflectance', 'pixel_reflectance',\n",
       "       'direct_solar_irradiance', 'diffuse_solar_irradiance',\n",
       "       'environmental_irradiance', 'atmospheric_intrinsic_radiance',\n",
       "       'background_radiance', 'pixel_radiance', 'solar_spectrum',\n",
       "       'measured_radiance', 'atmos_corrected_reflectance_lambertian',\n",
       "       'atmos_corrected_reflectance_brdf', 'coef_xa', 'coef_xb', 'coef_xc'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"7004ab7a-66ae-460e-8c82-b386c833faf6\" data-root-id=\"1311\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"e9d25b99-6377-44f3-8c3e-b1699abb6bb7\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1322\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1326\",\"type\":\"Grid\"},{\"id\":\"1331\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"1327\",\"type\":\"LinearAxis\"}],\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"1348\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1312\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1338\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1314\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1318\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1316\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1320\",\"type\":\"LinearScale\"}},\"id\":\"1311\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1335\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1346\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1336\",\"type\":\"ResetTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1347\",\"type\":\"Line\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1328\",\"type\":\"BasicTicker\"}},\"id\":\"1331\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1337\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1316\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1332\",\"type\":\"PanTool\"},{\"id\":\"1333\",\"type\":\"WheelZoomTool\"},{\"id\":\"1334\",\"type\":\"BoxZoomTool\"},{\"id\":\"1335\",\"type\":\"SaveTool\"},{\"id\":\"1336\",\"type\":\"ResetTool\"},{\"id\":\"1337\",\"type\":\"HelpTool\"}]},\"id\":\"1338\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1318\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"1314\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1345\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1346\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1347\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1349\",\"type\":\"CDSView\"}},\"id\":\"1348\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"6S Tropical Atmosphere: apparent_radiance\"},\"id\":\"1312\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1320\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1345\",\"type\":\"ColumnDataSource\"}},\"id\":\"1349\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1333\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"ticker\":{\"id\":\"1323\",\"type\":\"BasicTicker\"}},\"id\":\"1326\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1375\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1381\",\"type\":\"BoxAnnotation\"}},\"id\":\"1334\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"ZmZmZmZm1j+4HoXrUbjWPwrXo3A9Ctc/XI/C9Shc1z+uR+F6FK7XPwAAAAAAANg/UrgehetR2D+kcD0K16PYP/YoXI/C9dg/SOF6FK5H2T+amZmZmZnZP+xRuB6F69k/PgrXo3A92j+QwvUoXI/aP+J6FK5H4do/NDMzMzMz2z+G61G4HoXbP9ijcD0K19s/KlyPwvUo3D98FK5H4XrcP87MzMzMzNw/IIXrUbge3T9yPQrXo3DdP8T1KFyPwt0/Fq5H4XoU3j9oZmZmZmbeP7oehetRuN4/DNejcD0K3z9ej8L1KFzfP7BH4XoUrt8/AQAAAAAA4D8qXI/C9SjgP1O4HoXrUeA/fBSuR+F64D+lcD0K16PgP87MzMzMzOA/9yhcj8L14D8ghetRuB7hP0nhehSuR+E/cj0K16Nw4T+bmZmZmZnhP8T1KFyPwuE/7VG4HoXr4T8WrkfhehTiPz8K16NwPeI/aGZmZmZm4j+RwvUoXI/iP7oehetRuOI/43oUrkfh4j8M16NwPQrjPzUzMzMzM+M/Xo/C9Shc4z+H61G4HoXjP7BH4XoUruM/2aNwPQrX4z8CAAAAAADkPytcj8L1KOQ/VLgehetR5D99FK5H4XrkP6ZwPQrXo+Q/z8zMzMzM5D/4KFyPwvXkPyGF61G4HuU/SuF6FK5H5T9zPQrXo3DlP5yZmZmZmeU/xfUoXI/C5T/uUbgehevlPxeuR+F6FOY/QArXo3A95j9pZmZmZmbmP5LC9Shcj+Y/ux6F61G45j/kehSuR+HmPw3Xo3A9Cuc/NjMzMzMz5z9fj8L1KFznP4jrUbgehec/sUfhehSu5z/ao3A9CtfnPwMAAAAAAOg/LFyPwvUo6D9VuB6F61HoP34Urkfheug/p3A9Ctej6D/QzMzMzMzoP/koXI/C9eg/IoXrUbge6T9L4XoUrkfpP3Q9CtejcOk/nZmZmZmZ6T/G9Shcj8LpP+9RuB6F6+k/GK5H4XoU6j9BCtejcD3qP2pmZmZmZuo/k8L1KFyP6j+8HoXrUbjqP+V6FK5H4eo/DtejcD0K6z83MzMzMzPrP2CPwvUoXOs/ietRuB6F6z+yR+F6FK7rP9ujcD0K1+s/BAAAAAAA7D8tXI/C9SjsP1a4HoXrUew/fxSuR+F67D+ocD0K16PsPw==\",\"dtype\":\"float64\",\"shape\":[110]},\"y\":{\"__ndarray__\":\"CKwcWmRrTkDjpZvEIGBQQIts5/upIU5AYhBYObSAUkAbL90kBolTQEJg5dAiC1FAK4cW2c43U0B3vp8aL/1OQKRwPQrXg1NA001iEFjJT0C28/3UeAFcQDEIrBxaxFxAWDm0yHb2XUAdWmQ730ddQOXQItv5NllA0SLb+X5aVkC28/3UeOFRQLByaJHt9FJAokW28/18UUAIrBxaZLtSQC/dJAaBtVZA/tR46SZZWUDn+6nx0g1dQMdLN4lBSGBABFYOLbJFYkCDwMqhRZpiQIGVQ4ts92JACtejcD1aYUCDwMqhReZhQIXrUbgeTWJAeekmMQiUYUDfT42Xbu5hQOXQItv5+mFAnMQgsHL0YEA5tMh2vr9gQMuhRbbzRWFA16NwPQq3YUAGgZVDi5hhQJMYBFYOLWFAy6FFtvNpYUAlBoGVQ1dhQMHKoUW2V2FAdZMYBFbiYECWQ4ts5wthQF66SQwCe2BAvp8aL934YEBeukkMAvNgQEJg5dAiB2FAWDm0yHZ2XEBU46WbxAhfQFCNl24SR2BATDeJQWBdYEBeukkMAhtgQPYoXI/CZV9ABoGVQ4sAYECwcmiR7UxfQGDl0CLbgV5ACKwcWmTzXkBt5/up8dJeQC2yne+nVl5ACtejcD2aXUBxPQrXo6hbQA4tsp3vL11Ay6FFtvOdXUCkcD0K10NdQAAAAAAAAF1A001iEFixXEAhsHJokSVcQLgehetRsFlA8KfGSzcZV0AzMzMzM7tYQOXQItv5VlpAnu+nxkvvWUD8qfHSTcJYQFYOLbKdD1BAtMh2vp8qVEAxCKwcWhRVQJMYBFYOlVZARrbz/dQ4V0AK16NwPdpYQNEi2/l+mlhAvHSTGAReWEDNzMzMzNxAQM/3U+Ola1FAexSuR+EqV0BaZDvfT01XQFyPwvUoJFdAukkMAivnVkDfT42XblJVQM3MzMzMpFVAiUFg5dDiVUDjpZvEIMhUQAaBlUOL/FRA2c73U+NFTkCiRbbz/dRPQIPAyqFFnlFA46WbxCBYUkC+nxov3QxTQF66SQwCU1NA+n5qvHTTU0BaZDvfTx1TQAAAAAAASFJAy6FFtvONU0Dl0CLb+Z5SQNEi2/l+2lJAiUFg5dB6U0ArhxbZzidTQKabxCCw4lJAy6FFtvNVUkB/arx0k9hOQA==\",\"dtype\":\"float64\",\"shape\":[110]}},\"selected\":{\"id\":\"1379\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1380\",\"type\":\"UnionRenderers\"}},\"id\":\"1345\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1332\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1377\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1379\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1328\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1380\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"Wavelength (um)\",\"formatter\":{\"id\":\"1377\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1323\",\"type\":\"BasicTicker\"}},\"id\":\"1322\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1381\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1323\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"Radiance [W m-2 um-1]\",\"formatter\":{\"id\":\"1375\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1328\",\"type\":\"BasicTicker\"}},\"id\":\"1327\",\"type\":\"LinearAxis\"}],\"root_ids\":[\"1311\"]},\"title\":\"Bokeh Application\",\"version\":\"1.3.4\"}};\n",
       "  var render_items = [{\"docid\":\"e9d25b99-6377-44f3-8c3e-b1699abb6bb7\",\"roots\":{\"1311\":\"7004ab7a-66ae-460e-8c82-b386c833faf6\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1311"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"59f423c3-8cf9-4f19-94a2-b34cfc94e206\" data-root-id=\"1430\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"040680a0-0cb0-4d0e-86d6-35aeaa7401b6\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1441\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1445\",\"type\":\"Grid\"},{\"id\":\"1450\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"1446\",\"type\":\"LinearAxis\"}],\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"1467\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1431\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1457\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1433\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1437\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1435\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1439\",\"type\":\"LinearScale\"}},\"id\":\"1430\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1447\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1442\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"Radiance [W m-2 um-1]\",\"formatter\":{\"id\":\"1502\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1447\",\"type\":\"BasicTicker\"}},\"id\":\"1446\",\"type\":\"LinearAxis\"},{\"attributes\":{\"ticker\":{\"id\":\"1442\",\"type\":\"BasicTicker\"}},\"id\":\"1445\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1451\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1508\",\"type\":\"BoxAnnotation\"}},\"id\":\"1453\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1452\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1455\",\"type\":\"ResetTool\"},{\"attributes\":{\"text\":\"6S Tropical Atmosphere: atmos_corrected_reflectance_lambertian\"},\"id\":\"1431\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1454\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1433\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1451\",\"type\":\"PanTool\"},{\"id\":\"1452\",\"type\":\"WheelZoomTool\"},{\"id\":\"1453\",\"type\":\"BoxZoomTool\"},{\"id\":\"1454\",\"type\":\"SaveTool\"},{\"id\":\"1455\",\"type\":\"ResetTool\"},{\"id\":\"1456\",\"type\":\"HelpTool\"}]},\"id\":\"1457\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1456\",\"type\":\"HelpTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1466\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1439\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1507\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1437\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Wavelength (um)\",\"formatter\":{\"id\":\"1504\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1442\",\"type\":\"BasicTicker\"}},\"id\":\"1441\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1506\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null},\"id\":\"1435\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"1464\",\"type\":\"ColumnDataSource\"}},\"id\":\"1468\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1504\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"ZmZmZmZm1j+4HoXrUbjWPwrXo3A9Ctc/XI/C9Shc1z+uR+F6FK7XPwAAAAAAANg/UrgehetR2D+kcD0K16PYP/YoXI/C9dg/SOF6FK5H2T+amZmZmZnZP+xRuB6F69k/PgrXo3A92j+QwvUoXI/aP+J6FK5H4do/NDMzMzMz2z+G61G4HoXbP9ijcD0K19s/KlyPwvUo3D98FK5H4XrcP87MzMzMzNw/IIXrUbge3T9yPQrXo3DdP8T1KFyPwt0/Fq5H4XoU3j9oZmZmZmbeP7oehetRuN4/DNejcD0K3z9ej8L1KFzfP7BH4XoUrt8/AQAAAAAA4D8qXI/C9SjgP1O4HoXrUeA/fBSuR+F64D+lcD0K16PgP87MzMzMzOA/9yhcj8L14D8ghetRuB7hP0nhehSuR+E/cj0K16Nw4T+bmZmZmZnhP8T1KFyPwuE/7VG4HoXr4T8WrkfhehTiPz8K16NwPeI/aGZmZmZm4j+RwvUoXI/iP7oehetRuOI/43oUrkfh4j8M16NwPQrjPzUzMzMzM+M/Xo/C9Shc4z+H61G4HoXjP7BH4XoUruM/2aNwPQrX4z8CAAAAAADkPytcj8L1KOQ/VLgehetR5D99FK5H4XrkP6ZwPQrXo+Q/z8zMzMzM5D/4KFyPwvXkPyGF61G4HuU/SuF6FK5H5T9zPQrXo3DlP5yZmZmZmeU/xfUoXI/C5T/uUbgehevlPxeuR+F6FOY/QArXo3A95j9pZmZmZmbmP5LC9Shcj+Y/ux6F61G45j/kehSuR+HmPw3Xo3A9Cuc/NjMzMzMz5z9fj8L1KFznP4jrUbgehec/sUfhehSu5z/ao3A9CtfnPwMAAAAAAOg/LFyPwvUo6D9VuB6F61HoP34Urkfheug/p3A9Ctej6D/QzMzMzMzoP/koXI/C9eg/IoXrUbge6T9L4XoUrkfpP3Q9CtejcOk/nZmZmZmZ6T/G9Shcj8LpP+9RuB6F6+k/GK5H4XoU6j9BCtejcD3qP2pmZmZmZuo/k8L1KFyP6j+8HoXrUbjqP+V6FK5H4eo/DtejcD0K6z83MzMzMzPrP2CPwvUoXOs/ietRuB6F6z+yR+F6FK7rP9ujcD0K1+s/BAAAAAAA7D8tXI/C9SjsP1a4HoXrUew/fxSuR+F67D+ocD0K16PsPw==\",\"dtype\":\"float64\",\"shape\":[110]},\"y\":{\"__ndarray__\":\"Yr68APvowD+KsOHplbLAP+Nw5ldzgMA/GyrG+ZtQwD+muKrsuyLAP7JjIxCv678/UORJ0jWTvz8j88gfDDy/P0nXTL7Z5r4/igJ9Ik+Svj8dA7LXuz++P7yReeQPBr4/XCBB8WPMvT9gqwSLw5m/P7PSpBR0e8E/Vkj5SbVPwz+U9gZfmEzFP2kdVU0Qdcc/zvxqDhDMyT+KPEm6ZvLJP+F6FK5H4cY/hjjWxW00xD+OdXEbDeDBPzBkdavnpL8/8L+V7NgIvD8rhxbZzve7P+6x9KEL6rs/8uocA7LXuz8c6+I2GsC7P98Vwf9Wsrs/jkC8rl+wuz88a7ddaK67P1vri4S2nLs/zEBl/PuMuz97a2CrBIu7P3trYKsEi7s/A8+9h0uOuz+x+bg2VIy7P7x5qkNuhrs//Yf029eBuz/G+ZtQiIC7P7x5qkNuhrs/zEBl/PuMuz/dByC1iZO7P+Db9Gc/Urw/CfmgZ7Pquz9w626e6pC7P5BrQ8U4f7s/6znpfeNrvz+2hHzQs1m9PxwIyQImcLs/r+sX7IZtuz+zJEBNLVu7Py/6CtKMRbs/4V0u4jsxuz/KT6p9Oh67P00ychb2tLs/U7MHWoEhuz9q3nGKjuS6P99PjZduErs/0ZZzKa4quz9oeR7cnbW7P7NeDOVEu7o/Pu3w12SNuj/KiXYVUn66P3JtqBjnb7o/9Ik8Sbpmuj/Ie9XKhF+6Px2UMNP2r7w/6znpfeNrvz91sP7PYb68P0penWNA9ro/D5ccd0oHuz+nXOFdLuK7P/vo1JXP8sQ/MPDce7jkwD+PxwxUxr+/Py0hH/RsVr0/MevFUE60uz/0piIVxha6P2X8+4wLB7o/pgpGJXUCuj/PSe8bX3vSP4pZL4ZyosE/N8MN+Pwwuj90tRX7y+65P5p8s82N6bk/8piByvj3uT+BsilXeJe7Pzm0yHa+n7o/X5hMFYxKuj+8lpAPeja7P6bQeY1doro/1QloImx4wj+2oWKcvwnBP/XzpiIVxr4/CFqBIatbvT9hMlUwKqm7P8YWghyUMLs/+u3rwDkjuj+9GMqJdhW6PzOny2Ji87k/BYvDmV/NuT/pQxfUt8y5P878ag4QzLk/cqd0sP7PuT+etdsuNNe5P6pDboYb8Lk/BVH3AUhtuj/kDwaeew+/Pw==\",\"dtype\":\"float64\",\"shape\":[110]}},\"selected\":{\"id\":\"1506\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1507\",\"type\":\"UnionRenderers\"}},\"id\":\"1464\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1502\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1465\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"1464\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1465\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1466\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1468\",\"type\":\"CDSView\"}},\"id\":\"1467\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1447\",\"type\":\"BasicTicker\"}},\"id\":\"1450\",\"type\":\"Grid\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1508\",\"type\":\"BoxAnnotation\"}],\"root_ids\":[\"1430\"]},\"title\":\"Bokeh Application\",\"version\":\"1.3.4\"}};\n",
       "  var render_items = [{\"docid\":\"040680a0-0cb0-4d0e-86d6-35aeaa7401b6\",\"roots\":{\"1430\":\"59f423c3-8cf9-4f19-94a2-b34cfc94e206\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1430"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"061a72cb-6d39-465e-b0f3-49505e729868\" data-root-id=\"1557\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"06acb414-54f5-4a08-9113-06c64e56c955\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1568\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1572\",\"type\":\"Grid\"},{\"id\":\"1577\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"1573\",\"type\":\"LinearAxis\"}],\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"1594\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1558\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1584\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1560\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1564\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1562\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1566\",\"type\":\"LinearScale\"}},\"id\":\"1557\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1593\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Wavelength (um)\",\"formatter\":{\"id\":\"1639\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1569\",\"type\":\"BasicTicker\"}},\"id\":\"1568\",\"type\":\"LinearAxis\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1578\",\"type\":\"PanTool\"},{\"id\":\"1579\",\"type\":\"WheelZoomTool\"},{\"id\":\"1580\",\"type\":\"BoxZoomTool\"},{\"id\":\"1581\",\"type\":\"SaveTool\"},{\"id\":\"1582\",\"type\":\"ResetTool\"},{\"id\":\"1583\",\"type\":\"HelpTool\"}]},\"id\":\"1584\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1569\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1574\",\"type\":\"BasicTicker\"}},\"id\":\"1577\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1574\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1566\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Radiance [W m-2 um-1]\",\"formatter\":{\"id\":\"1637\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1574\",\"type\":\"BasicTicker\"}},\"id\":\"1573\",\"type\":\"LinearAxis\"},{\"attributes\":{\"ticker\":{\"id\":\"1569\",\"type\":\"BasicTicker\"}},\"id\":\"1572\",\"type\":\"Grid\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1592\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1564\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1642\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1581\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1639\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1641\",\"type\":\"Selection\"},{\"attributes\":{\"overlay\":{\"id\":\"1643\",\"type\":\"BoxAnnotation\"}},\"id\":\"1580\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"text\":\"6S Tropical Atmosphere: total_gaseous_transmittance\"},\"id\":\"1558\",\"type\":\"Title\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1643\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1579\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1578\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1560\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"ZmZmZmZm1j+4HoXrUbjWPwrXo3A9Ctc/XI/C9Shc1z+uR+F6FK7XPwAAAAAAANg/UrgehetR2D+kcD0K16PYP/YoXI/C9dg/SOF6FK5H2T+amZmZmZnZP+xRuB6F69k/PgrXo3A92j+QwvUoXI/aP+J6FK5H4do/NDMzMzMz2z+G61G4HoXbP9ijcD0K19s/KlyPwvUo3D98FK5H4XrcP87MzMzMzNw/IIXrUbge3T9yPQrXo3DdP8T1KFyPwt0/Fq5H4XoU3j9oZmZmZmbeP7oehetRuN4/DNejcD0K3z9ej8L1KFzfP7BH4XoUrt8/AQAAAAAA4D8qXI/C9SjgP1O4HoXrUeA/fBSuR+F64D+lcD0K16PgP87MzMzMzOA/9yhcj8L14D8ghetRuB7hP0nhehSuR+E/cj0K16Nw4T+bmZmZmZnhP8T1KFyPwuE/7VG4HoXr4T8WrkfhehTiPz8K16NwPeI/aGZmZmZm4j+RwvUoXI/iP7oehetRuOI/43oUrkfh4j8M16NwPQrjPzUzMzMzM+M/Xo/C9Shc4z+H61G4HoXjP7BH4XoUruM/2aNwPQrX4z8CAAAAAADkPytcj8L1KOQ/VLgehetR5D99FK5H4XrkP6ZwPQrXo+Q/z8zMzMzM5D/4KFyPwvXkPyGF61G4HuU/SuF6FK5H5T9zPQrXo3DlP5yZmZmZmeU/xfUoXI/C5T/uUbgehevlPxeuR+F6FOY/QArXo3A95j9pZmZmZmbmP5LC9Shcj+Y/ux6F61G45j/kehSuR+HmPw3Xo3A9Cuc/NjMzMzMz5z9fj8L1KFznP4jrUbgehec/sUfhehSu5z/ao3A9CtfnPwMAAAAAAOg/LFyPwvUo6D9VuB6F61HoP34Urkfheug/p3A9Ctej6D/QzMzMzMzoP/koXI/C9eg/IoXrUbge6T9L4XoUrkfpP3Q9CtejcOk/nZmZmZmZ6T/G9Shcj8LpP+9RuB6F6+k/GK5H4XoU6j9BCtejcD3qP2pmZmZmZuo/k8L1KFyP6j+8HoXrUbjqP+V6FK5H4eo/DtejcD0K6z83MzMzMzPrP2CPwvUoXOs/ietRuB6F6z+yR+F6FK7rP9ujcD0K1+s/BAAAAAAA7D8tXI/C9SjsP1a4HoXrUew/fxSuR+F67D+ocD0K16PsPw==\",\"dtype\":\"float64\",\"shape\":[110]},\"y\":{\"__ndarray__\":\"gZVDi2zn7z8rhxbZzvfvPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/K4cW2c737z8rhxbZzvfvPyuHFtnO9+8/K4cW2c737z9WDi2yne/vP1YOLbKd7+8/Vg4tsp3v7z+BlUOLbOfvP9ejcD0K1+8/16NwPQrX7z/Xo3A9CtfvPwIrhxbZzu8/g8DKoUW27z/ZzvdT46XvP9nO91Pjpe8/BFYOLbKd7z9aZDvfT43vP7ByaJHtfO8/BoGVQ4ts7z9cj8L1KFzvP4cW2c73U+8/sp3vp8ZL7z8IrBxaZDvvP166SQwCK+8/30+Nl24S7z81XrpJDALvP76fGi/dJO4/ukkMAiuH7j/hehSuR+HuP7bz/dR46e4/YOXQItv56j93vp8aL93sP+F6FK5H4e4/DAIrhxbZ7j+28/3UeOnuP2Dl0CLb+e4/CtejcD0K7z/fT42XbhLvP5HtfD81Xu4/NV66SQwC7z/dJAaBlUPvPwrXo3A9Cu8/4XoUrkfh7j8Sg8DKoUXuP1yPwvUoXO8/WmQ730+N7z8v3SQGgZXvP9nO91Pjpe8/2c73U+Ol7z+uR+F6FK7vP0oMAiuHFu0/ukkMAiuH6j+gGi/dJAbtP7bz/dR46e4/N4lBYOXQ7j9CYOXQItvtP9ejcD0K1+M/z/dT46Wb6D+TGARWDi3qPycxCKwcWuw/lkOLbOf77T/Xo3A9CtfvP4GVQ4ts5+8/gZVDi2zn7z+8dJMYBFbWP7ByaJHtfOc/rkfhehSu7z8rhxbZzvfvPwAAAAAAAPA/gZVDi2zn7z9qvHSTGATuP7TIdr6fGu8/sHJoke187z8730+Nl27uP99PjZduEu8/ke18PzVe5j+oxks3iUHoP+F6FK5H4eo/KVyPwvUo7D8X2c73U+PtP2ZmZmZmZu4/BFYOLbKd7z+uR+F6FK7vP9ejcD0K1+8/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/K4cW2c737z9WDi2yne/vPwIrhxbZzu8/CKwcWmQ77z+PwvUoXI/qPw==\",\"dtype\":\"float64\",\"shape\":[110]}},\"selected\":{\"id\":\"1641\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1642\",\"type\":\"UnionRenderers\"}},\"id\":\"1591\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1583\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1562\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1582\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1637\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1591\",\"type\":\"ColumnDataSource\"}},\"id\":\"1595\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"1591\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1592\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1593\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1595\",\"type\":\"CDSView\"}},\"id\":\"1594\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"1557\"]},\"title\":\"Bokeh Application\",\"version\":\"1.3.4\"}};\n",
       "  var render_items = [{\"docid\":\"06acb414-54f5-4a08-9113-06c64e56c955\",\"roots\":{\"1557\":\"061a72cb-6d39-465e-b0f3-49505e729868\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1557"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "parameters = ['apparent_radiance', 'atmos_corrected_reflectance_lambertian', 'total_gaseous_transmittance']\n",
    "\n",
    "for parameter in parameters:\n",
    "    p1 = figure(plot_width=900,\n",
    "                plot_height=500,\n",
    "                x_axis_label='Wavelength (um)',\n",
    "                y_axis_label='Radiance [W m-2 um-1]',\n",
    "                title='6S Tropical Atmosphere: ' + parameter)\n",
    "    p1.line(output.index.values, output[parameter].values) \n",
    "    \n",
    "    show(p1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Now for LANDSAT Bands"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 220,
   "metadata": {},
   "outputs": [],
   "source": [
    "from Py6S import *\n",
    "s = SixS()\n",
    "\n",
    "s.atmos_profile = AtmosProfile.PredefinedType(AtmosProfile.Tropical)\n",
    "\n",
    "s.aero_profile  = AeroProfile.PredefinedType(AeroProfile.NoAerosols)\n",
    "#s.aero_profile  = AeroProfile.PredefinedType(AeroProfile.Maritime)\n",
    "#s.aero_profile  = AeroProfile.PredefinedType(AeroProfile.Urban)\n",
    "\n",
    "s.atmos_corr    = AtmosCorr.AtmosCorrLambertianFromReflectance(0.5)\n",
    "\n",
    "#apparent_radiance = []\n",
    "#atmos_corrected_reflectance_lambertian = []\n",
    "output = []\n",
    "\n",
    "wvs = [PredefinedWavelengths.LANDSAT_OLI_B1,\n",
    "       PredefinedWavelengths.LANDSAT_OLI_B2,\n",
    "       PredefinedWavelengths.LANDSAT_OLI_B3,\n",
    "       PredefinedWavelengths.LANDSAT_OLI_B4,\n",
    "       PredefinedWavelengths.LANDSAT_OLI_B5,\n",
    "       PredefinedWavelengths.LANDSAT_OLI_B6,\n",
    "       PredefinedWavelengths.LANDSAT_OLI_B7]\n",
    "for wv in wvs:\n",
    "    s.wavelength = Wavelength(wv)\n",
    "    s.run()\n",
    "    output.append(s.outputs.values)\n",
    "output = pd.DataFrame(output, index=[np.mean(wv[1:3]) for wv in wvs])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 223,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"dca7a69c-2fd7-4bce-bfb0-31bd15d54414\" data-root-id=\"10191\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"c551fd1b-5668-4219-9547-fbe19da4139e\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"10202\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"10206\",\"type\":\"Grid\"},{\"id\":\"10211\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"10207\",\"type\":\"LinearAxis\"}],\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"10228\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"10192\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"10218\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"10194\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"10198\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"10196\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"10200\",\"type\":\"LinearScale\"}},\"id\":\"10191\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"overlay\":{\"id\":\"10543\",\"type\":\"BoxAnnotation\"}},\"id\":\"10214\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"10216\",\"type\":\"ResetTool\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"10208\",\"type\":\"BasicTicker\"}},\"id\":\"10211\",\"type\":\"Grid\"},{\"attributes\":{\"text\":\"6S Tropical Atmosphere: apparent_radiance\"},\"id\":\"10192\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"10196\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"10225\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"10226\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"10227\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"10229\",\"type\":\"CDSView\"}},\"id\":\"10228\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"10227\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"10225\",\"type\":\"ColumnDataSource\"}},\"id\":\"10229\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"10226\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"10540\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"10538\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"10217\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"fT81XrpJ3D9iEFg5tMjeP8DKoUW28+E/CtejcD0K5T/ZzvdT46XrP65H4XoUrvk/qvHSTWKQAUA=\",\"dtype\":\"float64\",\"shape\":[7]},\"y\":{\"__ndarray__\":\"Rrbz/dRIU0Av3SQGgQVhQARWDi2yAWFAWmQ7309tXUDfT42XbvpSQAIrhxbZzjJAZmZmZmbmF0A=\",\"dtype\":\"float64\",\"shape\":[7]}},\"selected\":{\"id\":\"10541\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"10542\",\"type\":\"UnionRenderers\"}},\"id\":\"10225\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"10212\",\"type\":\"PanTool\"},{\"attributes\":{\"axis_label\":\"Wavelength (um)\",\"formatter\":{\"id\":\"10540\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"10203\",\"type\":\"BasicTicker\"}},\"id\":\"10202\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"10543\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"10200\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"10213\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"10208\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"10203\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"Radiance [W m-2 um-1]\",\"formatter\":{\"id\":\"10538\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"10208\",\"type\":\"BasicTicker\"}},\"id\":\"10207\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"10198\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"10212\",\"type\":\"PanTool\"},{\"id\":\"10213\",\"type\":\"WheelZoomTool\"},{\"id\":\"10214\",\"type\":\"BoxZoomTool\"},{\"id\":\"10215\",\"type\":\"SaveTool\"},{\"id\":\"10216\",\"type\":\"ResetTool\"},{\"id\":\"10217\",\"type\":\"HelpTool\"}]},\"id\":\"10218\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"10194\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"10541\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"10542\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"10215\",\"type\":\"SaveTool\"},{\"attributes\":{\"ticker\":{\"id\":\"10203\",\"type\":\"BasicTicker\"}},\"id\":\"10206\",\"type\":\"Grid\"}],\"root_ids\":[\"10191\"]},\"title\":\"Bokeh Application\",\"version\":\"1.3.4\"}};\n",
       "  var render_items = [{\"docid\":\"c551fd1b-5668-4219-9547-fbe19da4139e\",\"roots\":{\"10191\":\"dca7a69c-2fd7-4bce-bfb0-31bd15d54414\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "10191"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"c5486b57-afd4-41b2-9bc8-62f470343ce4\" data-root-id=\"10592\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"1591be5c-a550-4f67-816e-3e355b3f3d8a\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"10603\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"10607\",\"type\":\"Grid\"},{\"id\":\"10612\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"10608\",\"type\":\"LinearAxis\"}],\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"10629\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"10593\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"10619\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"10595\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"10599\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"10597\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"10601\",\"type\":\"LinearScale\"}},\"id\":\"10592\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null},\"id\":\"10597\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"10626\",\"type\":\"ColumnDataSource\"}},\"id\":\"10630\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"10613\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"10947\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"10604\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"Radiance [W m-2 um-1]\",\"formatter\":{\"id\":\"10947\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"10609\",\"type\":\"BasicTicker\"}},\"id\":\"10608\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"10950\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"10599\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"10595\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"10609\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"10609\",\"type\":\"BasicTicker\"}},\"id\":\"10612\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"10626\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"10627\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"10628\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"10630\",\"type\":\"CDSView\"}},\"id\":\"10629\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"10949\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis_label\":\"Wavelength (um)\",\"formatter\":{\"id\":\"10949\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"10604\",\"type\":\"BasicTicker\"}},\"id\":\"10603\",\"type\":\"LinearAxis\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"10613\",\"type\":\"PanTool\"},{\"id\":\"10614\",\"type\":\"WheelZoomTool\"},{\"id\":\"10615\",\"type\":\"BoxZoomTool\"},{\"id\":\"10616\",\"type\":\"SaveTool\"},{\"id\":\"10617\",\"type\":\"ResetTool\"},{\"id\":\"10618\",\"type\":\"HelpTool\"}]},\"id\":\"10619\",\"type\":\"Toolbar\"},{\"attributes\":{\"text\":\"6S Tropical Atmosphere: total_gaseous_transmittance\"},\"id\":\"10593\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"10601\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"10618\",\"type\":\"HelpTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"10952\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"10616\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"10628\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"10951\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"10952\",\"type\":\"BoxAnnotation\"}},\"id\":\"10615\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"10614\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"fT81XrpJ3D9iEFg5tMjeP8DKoUW28+E/CtejcD0K5T/ZzvdT46XrP65H4XoUrvk/qvHSTWKQAUA=\",\"dtype\":\"float64\",\"shape\":[7]},\"y\":{\"__ndarray__\":\"K4cW2c737z/Xo3A9CtfvP+F6FK5H4e4/NV66SQwC7z+BlUOLbOfvPzMzMzMzM+8/mpmZmZmZ7T8=\",\"dtype\":\"float64\",\"shape\":[7]}},\"selected\":{\"id\":\"10950\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"10951\",\"type\":\"UnionRenderers\"}},\"id\":\"10626\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"10627\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"10617\",\"type\":\"ResetTool\"},{\"attributes\":{\"ticker\":{\"id\":\"10604\",\"type\":\"BasicTicker\"}},\"id\":\"10607\",\"type\":\"Grid\"}],\"root_ids\":[\"10592\"]},\"title\":\"Bokeh Application\",\"version\":\"1.3.4\"}};\n",
       "  var render_items = [{\"docid\":\"1591be5c-a550-4f67-816e-3e355b3f3d8a\",\"roots\":{\"10592\":\"c5486b57-afd4-41b2-9bc8-62f470343ce4\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "10592"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"9bda0389-36cf-41e2-9396-a6ba69d0a314\" data-root-id=\"11001\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"b3ca93e8-68b1-4ab0-8113-729e4d2283d2\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"11012\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"11016\",\"type\":\"Grid\"},{\"id\":\"11021\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"11017\",\"type\":\"LinearAxis\"}],\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"11038\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"11002\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"11028\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"11004\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"11008\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"11006\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"11010\",\"type\":\"LinearScale\"}},\"id\":\"11001\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"11022\",\"type\":\"PanTool\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"11036\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"11023\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"11366\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"text\":\"6S Tropical Atmosphere: atmos_corrected_reflectance_lambertian\"},\"id\":\"11002\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"11006\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"11004\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"11010\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Wavelength (um)\",\"formatter\":{\"id\":\"11366\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"11013\",\"type\":\"BasicTicker\"}},\"id\":\"11012\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"11364\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"11013\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"11367\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"11008\",\"type\":\"LinearScale\"},{\"attributes\":{\"ticker\":{\"id\":\"11013\",\"type\":\"BasicTicker\"}},\"id\":\"11016\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"11035\",\"type\":\"ColumnDataSource\"}},\"id\":\"11039\",\"type\":\"CDSView\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"11018\",\"type\":\"BasicTicker\"}},\"id\":\"11021\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"11022\",\"type\":\"PanTool\"},{\"id\":\"11023\",\"type\":\"WheelZoomTool\"},{\"id\":\"11024\",\"type\":\"BoxZoomTool\"},{\"id\":\"11025\",\"type\":\"SaveTool\"},{\"id\":\"11026\",\"type\":\"ResetTool\"},{\"id\":\"11027\",\"type\":\"HelpTool\"}]},\"id\":\"11028\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"Radiance [W m-2 um-1]\",\"formatter\":{\"id\":\"11364\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"11018\",\"type\":\"BasicTicker\"}},\"id\":\"11017\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"11027\",\"type\":\"HelpTool\"},{\"attributes\":{\"data_source\":{\"id\":\"11035\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"11036\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"11037\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"11039\",\"type\":\"CDSView\"}},\"id\":\"11038\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"11026\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"11018\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"11025\",\"type\":\"SaveTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"11369\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"11037\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"11368\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"11369\",\"type\":\"BoxAnnotation\"}},\"id\":\"11024\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"fT81XrpJ3D9iEFg5tMjeP8DKoUW28+E/CtejcD0K5T/ZzvdT46XrP65H4XoUrvk/qvHSTWKQAUA=\",\"dtype\":\"float64\",\"shape\":[7]},\"y\":{\"__ndarray__\":\"KSLDKt7I7T+dgCbChqfhP/qzHykiw+A/m8k329yY4D/fT42XbhLgP0eP39v0Z+A/zxQ6r7FL4T8=\",\"dtype\":\"float64\",\"shape\":[7]}},\"selected\":{\"id\":\"11367\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"11368\",\"type\":\"UnionRenderers\"}},\"id\":\"11035\",\"type\":\"ColumnDataSource\"}],\"root_ids\":[\"11001\"]},\"title\":\"Bokeh Application\",\"version\":\"1.3.4\"}};\n",
       "  var render_items = [{\"docid\":\"b3ca93e8-68b1-4ab0-8113-729e4d2283d2\",\"roots\":{\"11001\":\"9bda0389-36cf-41e2-9396-a6ba69d0a314\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "11001"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "parameters = ['apparent_radiance', 'total_gaseous_transmittance', 'atmos_corrected_reflectance_lambertian']\n",
    "\n",
    "for parameter in parameters:\n",
    "    p1 = figure(plot_width=900,\n",
    "                plot_height=500,\n",
    "                x_axis_label='Wavelength (um)',\n",
    "                y_axis_label='Radiance [W m-2 um-1]',\n",
    "                title='6S Tropical Atmosphere: ' + parameter)\n",
    "    p1.line(output.index.values, output[parameter].values) \n",
    "    \n",
    "    show(p1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 222,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['version', 'month', 'day', 'solar_z', 'solar_a', 'view_z', 'view_a',\n",
       "       'scattering_angle', 'azimuthal_angle_difference', 'ground_pressure',\n",
       "       'ground_altitude', 'apparent_reflectance', 'apparent_radiance',\n",
       "       'total_gaseous_transmittance', 'wv_above_aerosol',\n",
       "       'wv_mixed_with_aerosol', 'wv_under_aerosol',\n",
       "       'percent_direct_solar_irradiance', 'percent_diffuse_solar_irradiance',\n",
       "       'percent_environmental_irradiance', 'atmospheric_intrinsic_reflectance',\n",
       "       'background_reflectance', 'pixel_reflectance',\n",
       "       'direct_solar_irradiance', 'diffuse_solar_irradiance',\n",
       "       'environmental_irradiance', 'atmospheric_intrinsic_radiance',\n",
       "       'background_radiance', 'pixel_radiance', 'int_funct_filt',\n",
       "       'int_solar_spectrum', 'measured_radiance',\n",
       "       'atmos_corrected_reflectance_lambertian',\n",
       "       'atmos_corrected_reflectance_brdf', 'coef_xa', 'coef_xb', 'coef_xc'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 222,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 228,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4420    0.155886\n",
       "0.4810    0.263883\n",
       "0.5610    0.281253\n",
       "0.6575    0.286382\n",
       "0.8640    0.297739\n",
       "1.6050    0.292495\n",
       "2.1955    0.277500\n",
       "Name: apparent_reflectance, dtype: float64"
      ]
     },
     "execution_count": 228,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output.apparent_reflectance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 229,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4420    0.156\n",
       "0.4810    0.264\n",
       "0.5610    0.281\n",
       "0.6575    0.286\n",
       "0.8640    0.298\n",
       "1.6050    0.292\n",
       "2.1955    0.277\n",
       "Name: pixel_reflectance, dtype: float64"
      ]
     },
     "execution_count": 229,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output.pixel_reflectance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 230,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4420    0.0\n",
       "0.4810    0.0\n",
       "0.5610    0.0\n",
       "0.6575    0.0\n",
       "0.8640    0.0\n",
       "1.6050    0.0\n",
       "2.1955    0.0\n",
       "Name: background_reflectance, dtype: float64"
      ]
     },
     "execution_count": 230,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output.background_reflectance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 231,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4420    0.0\n",
       "0.4810    0.0\n",
       "0.5610    0.0\n",
       "0.6575    0.0\n",
       "0.8640    0.0\n",
       "1.6050    0.0\n",
       "2.1955    0.0\n",
       "Name: atmospheric_intrinsic_reflectance, dtype: float64"
      ]
     },
     "execution_count": 231,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output.atmospheric_intrinsic_reflectance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
